我收到了Apple Review Team的回复:
亲爱的开发者,
您的应用,扩展程序和/或链接框架似乎包含代码 明确设计,具有更改应用程序行为的能力 App Review批准后的功能或功能,不符合要求 与Apple开发人员计划许可协议的第3.3.2节 和App Store评论指南2.5.2。这段代码,结合了 远程资源,可以促进您的应用程序的重大更改 与最初针对App Store进行审核时的行为进行比较。 虽然您目前可能没有使用此功能,但它有 加载私有框架,私有方法和启用的潜力 未来的功能变化。
这包括将任意参数传递给动态的任何代码 方法如dlopen(),dlsym(), respondsToSelector:, performSelector:, method_exchangeImplementations(),并运行远程 脚本以改变应用程序行为或调用SPI,基于 下载脚本的内容。即使远程资源不是 故意恶意,很容易被一个男人劫持 中(MiTM)攻击,可能造成严重的安全漏洞 给您应用的用户。
请对您的应用进行深入审核并删除所有代码, 符合所述功能的框架或SDK 在提交您的应用的下一个更新以供审核之前。
致以最诚挚的问候,
App Store评论
我再次检查我的代码,我看到AFNetworking包含方法: performSelector:, method_exchangeImplementations(), respondsToSelector:
我打算告诉Apple,AFNetworking是一个开源和合法但我认为Apple不会信任我
所以我有两个问题:
Apple知道AFNetworking包含 respondsToSelector:, performSelector:, method_exchangeImplementations()
正如Apple看到AFNetworking一样,AFNetworking合法吗?有没有证明文件的文件?
答案 0 :(得分:0)
获得相同的消息并在不同的论坛中阅读后,您可能正在使用第三方服务,该服务允许您在将应用程序上载到AppStore后更改代码。 最受欢迎的服务是Rollout.io,我必须从我自己的应用程序中删除它。
我强烈怀疑AFNetworking会给你带来任何问题(仍在寻找Apple自己的答案,并会在答案时更新)
更新: Apple批准了我的应用,这意味着它确实是Rollout.io。我相信它对于任何第三方代码注入工具都是正确的。 我仍然有AFNetworking,所以没有问题。