【发布时间】:2017-03-08 02:43:51
【问题描述】:
我的最新版本已被 Apple 应用商店接受,但几天后我收到了下面引用的通知。
我的应用也使用 Rollout.io,我明确询问这是否是问题所在。还没有回复。
如果responsToSelector或performSelector被禁止了,有没有替代品?
尊敬的开发者,
您的应用、扩展程序和/或链接框架似乎包含明确设计的代码,这些代码能够在应用审核批准后更改您的应用的行为或功能,这不符合 Apple 开发者计划许可的第 3.3.2 节协议和 App Store 审查指南 2.5.2。与最初为 App Store 审查时相比,此代码与远程资源相结合,可以促进对应用行为的重大更改。虽然您目前可能没有使用此功能,但它有可能加载私有框架、私有方法并启用未来的功能更改。
这包括将任意参数传递给动态方法的任何代码,例如 dlopen()、dlsym()、respondsToSelector:、performSelector:、method_exchangeImplementations(),以及运行远程脚本以更改应用程序行为或调用 SPI,基于下载脚本的内容。即使远程资源不是故意恶意的,它也很容易被中间人 (MiTM) 攻击劫持,这可能会给您的应用用户带来严重的安全漏洞。
请对您的应用进行深入审查,并删除任何符合上述功能的代码、框架或 SDK,然后再为您的应用提交下一个更新以供审查。
编辑: 苹果论坛提到这一点:https://forums.developer.apple.com/thread/73640
【问题讨论】:
-
这是 Rollout 首席执行官兼联合创始人的官方声明rollout.io/blog/rollout-statement-on-apple-guidelines
-
Rollout 刚刚向 Apple 发布了一封公开信:rollout.io/blog/…
标签: ios app-store respondstoselector