使用ICU的iPhone app拒绝(Unicode扩展)

时间:2010-03-11 19:00:37

标签: iphone unicode appstore-approval icu

考虑到我的申请,我收到了Apple的以下邮件:


感谢您将您对Νομοθεσία的更新提交至App Store。在我们审核您的申请时,我们发现它使用的是私有API,这违反了iPhone开发者计划许可协议第3.3.1节; “3.3.1应用程序只能以Apple规定的方式使用Documented API,不得使用或调用任何私有API。”虽然您的申请未被拒绝,但在下次更新中解决此问题是合适的。 您的应用程序中包含以下非公共API: u_isspace ubrk_close ubrk_current ubrk_first ubrk_next ubrk_open 如果您在源代码中使用与上述API相同的名称定义了方法,我们建议您更改方法名称,以便它们不再与Apple的私有API冲突,以避免您的应用程序被标记为将来提交。 请在下次更新为Νομοθεσία时解决此问题。 此致 iPhone App Review团队


此邮件中提到的功能用于ICU库(International Components for Unicode)。 虽然我的应用程序此时并未被拒绝,但我对我的应用程序的未来感觉不太安全,因为它在很大程度上依赖于Unicode协议,特别是在这些组件上。 另一件事是我没有直接调用这些函数,但它们是由自定义的'sqlite'构建调用的(启用了FTS3扩展)。

我在这里遗漏了什么吗? 有什么建议吗?

3 个答案:

答案 0 :(得分:4)

我建议不要公开宣传这个问题(从长远来看这只会伤害你),但礼貌地回应你给出的应用程序审查电子邮件地址,并解释说你正在使用引用ICU的自定义SQLite版本框架。鉴于这是一个标准的第三方框架,我认为这些不是Apple正在使用的私有API。在他们的扫描软件中包含符号可能只是过于热心。

如果你无法说服他们,你可能会考虑从使用FTS3的SQLite切换到类似Aaron Hillegass'BNRPersistence的东西,它只是添加了快速的全文搜索。

答案 1 :(得分:1)

如果他们在链接到系统ICU时遇到问题,为什么不直接将ICU源代码导入项目?

答案 2 :(得分:1)

嗯...... Apple也可能使用ICU组件。最好的回应是礼貌地解释发生了什么,希望事情应该好好解决。