macOS性能 - 2.5.1:您的应用使用或引用了以下非公开API

时间:2017-04-02 02:15:50

标签: macos api cocoa

我提交的APP已多次被Mac AppStore拒绝。它是一个基于VLCKit的视频应用程序,只使用第三方库也是VLCKit。这是应用拒绝问题:

  

"表现 - 2.5.1

     

您的应用使用或引用了以下非公开API:

     

' /System/Library/Frameworks/ApplicationServices.framework/Versions/A/ApplicationServices'

     

:CGSCreateRegisteredCursorImage

     

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

     

后续步骤

     

如果您在源代码中定义了与其名称相同的方法   上面提到的API,我们建议改变你的方法名称   他们不再与Apple的私人API发生冲突,以避免你的   申请在未来的提交中被标记。

     另外,上述API中的一个或多个可以驻留在a中   您的应用程序附带的库。如果您无权访问   在库的源代码中,您可以搜索已编译的二进制文件   使用"字符串"或" otool"命令行工具。 "字符串"工具可以   输出库调用的方法列表和" otool -ov"   将输出Objective-C类结构及其定义的结构   方法。这些技巧可以帮助您缩小范围   有问题的代码驻留。

     

如果您无法重现此问题,请确保您正在测试   您提交以供审核的应用的确切版本   你是在最低限度的特权环境中这样做的。见技术   Q& A QA1778:如何重现针对Mac App Store报告的错误   提交。

     

有关如何表示和阅读崩溃日志的信息,请参阅   技术说明TN2123 - CrashReporter。"

这让我很疯狂,根据Apple的反馈,我使用了"字符串"," otool -L"和" otool -ov" ,但没有找到相关内容。如何解决这个问题呢?请告诉我。谢谢!

1 个答案:

答案 0 :(得分:0)

VLC calls CGSCreateRegisteredCursorImage() in code used for screen capture.

您可能需要从libvlc中删除此功能,以使其通过App Store API检查。

更重要的是,VLC(和libvlc)是根据GPL许可的。在继续之前,请确保您的应用程序符合此许可证。