由于使用了非公开的api UIRotatingAlertController,WKActionSheet,Apple拒绝了我的应用程序

时间:2017-06-28 14:24:43

标签: ios appstore-approval

  

准则2.5.1 - 性能 - 软件要求

您的应用使用“prefs:root =”非公共URL方案,这是一个私有实体。 App Store上不允许使用非公共API,因为如果这些API发生变化,可能会导致糟糕的用户体验。具体做法是:

OS_dispatch_group,_UIRotatingAlertController,WKActionSheet

后续步骤

要解决此问题,请修改您的应用以使用公共API提供相关功能,或使用“prefs:root”或“App-Prefs:root”URL方案删除功能。

  

块引用

我已经解决了其中两个我能在我的代码中找到的“prefs:root”和“OS_dispatch_group”,但其他两个没有在代码中检测到。我在这里使用命令grep -R '_UIRotatingAlertController' *。如果需要为nm工具或otool运行任何其他命令,请建议。

1 个答案:

答案 0 :(得分:1)

  

块引用   这两个选择器都出现在[JSQMessagesViewController初始化]中 - > JSQInstallWorkaroundForSheetPresentationIssue26295020()方法并直接模糊它们的使用以避免静态检测(https://github.com/jessesquires/JSQMessagesViewController/blob/f52e83bdb4d5c19ecfd5b6e54cdb9f2efa66cfcf/JSQMessagesViewController/Controllers/JSQMessagesViewController.m)。在重新提交审核之前完全删除库是合适的。

这是来自苹果的回复,因为这个API与某些技巧一起使用,所以我无法观察到问题,但苹果很容易用他们的工具观察。