The app references non-public selectors in xxxx: setGeometryDelegate:

很多人在App开发结束后提交苹果商店上传包时遭到拒绝,还未提交审核哦,刚上传完还在预发行里,构建版本为“无效的二进制文件”,苹果发来“贺电”,拒绝理由为:

  • The app references non-public selectors in xxxx: setGeometryDelegate:


这句话的大概意思是说,程序中调用了App的私有方法 setGeometryDelegate:,可我们搜索整个项目都没找到有调用该方法的代码,那肯定就是使用的第三方框架中有违反了这一条咯,网上找了相关资料,原来是百度地图干的。
百度官方也给了相关回应,在Other Linker Flags中加 -ObjC 即可,注意大小写!!!

修改好后重新打包上传,如果版本冲突就改下版本号或build号,打包重传。

邮件原文参考:

?
Dear developer,
?
We have discovered one or more issues with your recent delivery for “XXXX“. To process your delivery, the following issues must be corrected:
Non-public API usage:
?
  • The app references non-public selectors in xxxx: setGeometryDelegate:
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.
?
If you think this message was sent in error and that you have only used Apple-published APIs in accordance with the guidelines, send the app’s nine-digit Apple ID, along with detailed information about why you believe the above APIs were incorrectly flagged, to appreview@apple.com. For further information, visit the Technical Support Information page.
?
Once these issues have been corrected, you can then redeliver the corrected binary.
?
Regards,
?
The App Store team

Leave a Reply