苹果拒绝了我的应用程序,由于使用非公开的API UIRotatingAlertController的,WKActionSheet
准则2.5.1 - 性能 - 软件要求苹果拒绝了我的应用程序,由于使用非公开的API UIRotatingAlertController的,WKActionSheet
你的应用程序使用“首选项:根=”非公开URL方案,这是一个私人实体。 App Store上不允许使用非公共API,因为如果这些API发生变化,它可能导致糟糕的用户体验。具体做法是:
OS_dispatch_group,_UIRotatingAlertController,WKActionSheet
下一步
要解决此问题,请修改你的应用程序中使用公共API,提供相关的功能或使用删除功能“首选项:根”或“App-Prefs:root”URL方案。
块引用
我已经解决了三分之二他们,我能找到我的代码这是“首选项:root”和“OS_dispatch_group”,但另外两个不是码侦测。这里我使用命令grep -R '_UIRotatingAlertController' *
。请建议是否需要为nm工具或otool运行任何其他命令。
块引用 这两个选择器都存在在[JSQMessagesViewController初始化] - > JSQInstallWorkaroundForSheetPresentationIssue26295020()方法和直接混淆它们的使用,以避免静态检测(https://github.com/jessesquires/JSQMessagesViewController/blob/f52e83bdb4d5c19ecfd5b6e54cdb9f2efa66cfcf/JSQMessagesViewController/Controllers/JSQMessagesViewController.m)。在重新提交审查之前完全删除图书馆是适当的。
这是来自苹果的答复,这是API的一些技巧使用的,所以我有无法观察问题,但苹果很容易与他们的工具观察。
你使用任何第三方库吗?其余两个私有API可能会被您使用的框架使用。 –
是的,我使用累了的派对库,但我怎么可以检测到这个非公开的API是在哪个库或框架 – Firozzz
您可以检查这些框架的公共接口。但是你也应该研究一下,如果其他人对你使用的框架有这些问题,这种方法可能比自己查找私有API的使用更容易。 –