我收到了 Apple 发送的以下邮件,考虑我的申请:
<小时/>感谢您向 App Store 提交 NOμοθεσία 的更新。在我们审查您的应用程序期间,我们发现它正在使用私有(private) API,这违反了 iPhone 开发者计划许可协议(protocol)第 3.3.1 节; “3.3.1 应用程序只能按照 Apple 规定的方式使用记录的 API,不得使用或调用任何私有(private) API。”虽然您的申请未被拒绝,但最好在下次更新中解决此问题。 您的应用程序中包含以下非公共(public) API: u_isspace ubrk_close ubrk_当前 ubrk_first ubrk_next ubrk_open 如果您在源代码中定义了与上述 API 名称相同的方法,我们建议更改您的方法名称,以便它们不再与 Apple 的私有(private) API 冲突,以避免您的应用程序在将来的提交中被标记。 请在下次更新 NOμοθεσία 时解决此问题。 真挚地, iPhone 应用程序审核团队
<小时/>本邮件中提到的函数在 ICU 库(Unicode 国际组件)中使用。 虽然我的应用程序此时没有被拒绝,但我对我的应用程序的 future 感到不太安全,因为它严重依赖 Unicode 协议(protocol),尤其是此组件。 另一件事是,我不直接调用这些函数,而是由自定义“sqlite”构建(启用 FTS3 扩展)调用它们。
我在这里遗漏了什么吗? 有什么建议吗?
最佳答案
我建议不要公开发泄这个问题(从长远来看,这只会伤害你),而是礼貌地回复你收到的应用程序审核电子邮件地址,解释你正在使用引用 ICU 的自定义 SQLite 构建框架。鉴于这是一个标准的第三方框架,我认为这些不是您正在使用的 Apple 的私有(private) API。也许他们只是过于热心地在扫描软件中包含符号。
如果您无法说服他们,您可以考虑从带有 FTS3 的 SQLite 切换到类似 Aaron Hillegass 的 BNRPersistence 的东西。 ,它刚刚添加了快速全文搜索。
关于iPhone 应用因使用 ICU(Unicode 扩展)而被拒绝,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2427838/