我知道当您将其提交到应用商店时,您的应用中不允许出现一些受限制的 api 或代码。
你怎么知道它们是什么?有没有办法在提交之前检查您的应用程序以确保您没有使用过此类 api?
在设计阶段避免这个问题可能比以后尝试修复它更好,所以我想知道 Xcode 中是否有任何工具或文档来确定这一点。
我知道当您将其提交到应用商店时,您的应用中不允许出现一些受限制的 api 或代码。
你怎么知道它们是什么?有没有办法在提交之前检查您的应用程序以确保您没有使用过此类 api?
在设计阶段避免这个问题可能比以后尝试修复它更好,所以我想知道 Xcode 中是否有任何工具或文档来确定这一点。
Apple 打算让您这样做的方式是使用 XCode 的验证功能。当你提交一个应用程序时,你为实现而构建(或从 XCode 菜单存档)。然后,您打开 Organizer 以查看您刚刚创建的存档。此时,您可以按下 Organizer 中的Validate按钮。这将执行验证,而无需实际提交应用程序。它会告诉您是否使用私有 API。根据您使用它们的方式,它可能会确定违规行为是什么:
代码肯定有办法欺骗这个验证步骤,并且在审阅者查看包之前使用私有 API “逃脱”。但是,据我所知,这些方法都是有意隐藏私有 API 使用的方法,听起来你正试图发现意外使用。
如果您未通过此验证测试,那么您可能想要使用alan duncan 的回答中提到的 AppScanner 之类的东西。但是,为了完整起见,我想确保人们知道这个验证步骤在 XCode 中是可用的,并且检查私有 API 的使用是它在你提交之前所做的事情之一(并且必须等待几天才能被告知你什么做错了)。此外,即使您不使用 Organizer 中的Validate按钮,而只使用Submit,该工具也会为您执行验证。唯一的区别是捆绑包是否真的被上传到了 iTunes Connect。
如果您按照上面的建议坚持使用记录在案的接口,那就没问题了。唯一的问题是第三方库的实现对您来说可能是不透明的。
有一个名为 AppScanner 的 Mac 应用程序可以从私有 API 使用中进行扫描。不过,我没有这方面的经验。
您将获得有关 Apple 审批流程的更多信息,来自
然后得到它~
我开了一个项目来做这个,但是因为我公司的原因,取消了。对此非常抱歉。