2017-06-28 78 views
-4

準則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運行任何其他命令。

+1

你使用任何第三方庫嗎?其餘兩個私有API可能會被您使用的框架使用。 –

+0

是的,我使用累了的派對庫,但我怎麼可以檢測到這個非公開的API是在哪個庫或框架 – Firozzz

+0

您可以檢查這些框架的公共接口。但是你也應該研究一下,如果其他人對你使用的框架有這些問題,這種方法可能比自己查找私有API的使用更容易。 –

回答

0

塊引用 這兩個選擇器都存在在[JSQMessagesViewController初始化] - > JSQInstallWorkaroundForSheetPresentationIssue26295020()方法和直接混淆它們的使用,以避免靜態檢測(https://github.com/jessesquires/JSQMessagesViewController/blob/f52e83bdb4d5c19ecfd5b6e54cdb9f2efa66cfcf/JSQMessagesViewController/Controllers/JSQMessagesViewController.m)。在重新提交審查之前完全刪除圖書館是適當的。

這是來自蘋果的答覆,這是API的一些技巧使用的,所以我有無法觀察問題,但蘋果很容易與他們的工具觀察。

相關問題