AppStore rejection – 性能:软件要求prefs:root =“GraphicsServices.framework”

Apple拒绝了我们的应用程序:

准则2.5.1 – 性能 – 软件要求您的应用程序使用或引用以下非公共API:

首选项:根= “GraphicsServices.framework”

App Store上不允许使用非公共API,因为如果这些API发生变化,可能会导致糟糕的用户体验。

在将来提交此应用程序时继续使用或隐藏非公共API可能会导致Apple Developer帐户被终止,以及从App Store中删除所有相关应用程序。

下一步

如果您使用的是第三方库,请更新到这些库的最新版本。 如果您无权访问库的源,则可以使用“strings”或“otool”命令行工具搜索已编译的二进制文件。 “strings”工具可以输出库调用的方法列表,“otool -ov”将输出Objective-C类结构及其定义的方法。 这些工具可以帮助您缩小有问题的代码所在的位置。 您还可以使用“nm”工具validation是否有任何第三方库正在调用这些API。

资源

有关“nm”工具的信息,请查看“nm工具”Xcode手册页。

如果没有其他方法可以提供您的应用所需的function,则可以提交增强请求。

目前还不清楚如何解决这个问题。

该问题由https://github.com/erica/uidevice-extension更具体地生成: https : //github.com/erica/uidevice-extension/blob/master/UIDevice-Capabilities.m

代码中甚至有一个描述,我们的应用程序现在没有被拒绝超过1年。

/* THIS CATEGORY IS NOT APP STORE SAFE AT THIS TIME. DO NOT USE IN PRODUCTION CODE. YOU CAN, HOWEVER, USE THIS TO HELP BUILD YOUR OWN CUSTOM CODE TO PRE_COMPUTE CAPABILITIES. */ #define GRAPHICS_SERVICES_PATH "/System/Library/PrivateFrameworks/GraphicsServices.framework/GraphicsServices" 

我们将删除库的使用。