[英]How to check if your iOS app code is using an api that is not allowed on the app store?
我知道当你将它提交到应用程序商店时,有一些限制的api或代码不允许在你的应用程序中。
你怎么知道它们是什么? 有没有办法在提交之前检查你的应用程序,以确保你没有使用过这样的api?
在设计阶段避免这个问题可能比在以后尝试修复它更好,所以我想知道Xcode中是否有任何工具或文档来确定这个问题。
Apple打算这样做的方式是使用XCode的验证功能。 当您提交应用程序时,您可以构建用于实现(或从XCode菜单存档 )。 然后,打开管理器以查看刚刚创建的存档。 此时,您可以按管理器中的“ 验证”按钮。 这将执行验证,而不实际提交应用程序。 它会告诉您是否使用私有API。 这取决于你如何使用它们,它可以识别违规是什么:
肯定有一些代码可以欺骗这个验证步骤的方法,并且在审阅者查看捆绑包之前使用私有API“逃脱”。 但是,据我所知,这些方法都是隐藏私有API使用的有意方法,听起来你正试图发现意外使用。
如果您未通过此验证测试,那么您可能希望使用类似于Alan duncan的答案中提到的AppScanner。 但是,为了完整起见,我想确保人们知道这个验证步骤在XCode中可用,并且在您提交之前检查私有API使用是它正在做的事情之一(并且必须等待几天才被告知你是什么做错了)。 此外,即使您不使用管理器中的“ 验证”按钮,但只使用“ 提交” ,该工具也会为您执行验证。 唯一的区别是捆绑包是否实际上传到iTunes Connect。
如果您坚持使用上面建议的文档化界面,那么你没问题。 唯一的问题是第三方库的实现可能对您不透明。
有一个名为AppScanner的Mac应用程序可以扫描私有API的使用情况。 不过,我没有经验。
GOT吧〜
我打开了一个项目来做这件事,但因为我公司的原因,取消了。 对此非常抱歉。
您将从中获得有关Apple批准流程的更多信息
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.