前段時(shí)間升級(jí)了,Xcode 15遇到ITMS-90338: Non-public API usage 藐石。
打包上傳TestFlight,準(zhǔn)備提審核募狂,發(fā)現(xiàn)打包成功了,但是在TestFlight中并沒有顯示出來相應(yīng)的版本角雷。
這種成功了但不顯示的問題,蘋果一般會(huì)發(fā)郵件到郵箱雷滚。
于是,郵箱收到如下郵件
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個(gè)版本了,都沒有這個(gè)提示出爹,而且是成功的缎除,僅做的操作就是升級(jí)了Xcode15.
所以,我懷疑是升級(jí)后檢測(cè)機(jī)制更健全器罐,觸發(fā)了這個(gè)私有api的問題。具體原因不詳(也可能是我項(xiàng)目確實(shí)有私有api的問題铸董,我沒有找到)。
解決辦法就是在項(xiàng)目的targets ----build settings----other linker flags中添加一項(xiàng):
-Wl,-ld_classic