前段时间升级了,Xcode 15遇到ITMS-90338: Non-public API usage 。
打包上传TestFlight,准备提审核,发现打包成功了,但是在TestFlight中并没有显示出来相应的版本。
这种成功了但不显示的问题,苹果一般会发邮件到邮箱。
于是,邮箱收到如下邮件
ITMS-90338: Non-public API usage - The app contains one or more corrupted binaries. Rebuild the app and resubmit.. If method names in your source code match the private Apple APIs listed above, altering your method names will help prevent this app from being flagged in future submissions. In addition, note that one or more of the above APIs may be located in a static library that was included with your app. If so, they must be removed. For further information, visit the Technical Support Information at [http://developer.apple.com/support/technical/](http://developer.apple.com/support/technical/)
Though you are not required to fix the following issues, we wanted to make you aware of them:
邮箱可以看出,说我使用了苹果的私有api。
但是,我在Xcode14打包上传N个版本了,都没有这个提示,而且是成功的,仅做的操作就是升级了Xcode15.
所以,我怀疑是升级后检测机制更健全,触发了这个私有api的问题。具体原因不详(也可能是我项目确实有私有api的问题,我没有找到)。
解决办法就是在项目的targets ----build settings----other linker flags中添加一项:
-Wl,-ld_classic
网友评论