【发布时间】:2013-09-15 03:49:13
【问题描述】:
在我的 iphone 应用程序 (iOS7) 提交过程中,我看到了屏幕上显示的错误。基本上,它说我使用了非公共符号__strlcat_chk,strlcpy_chk,我知道strlcat和strlcpy,但不要认为它可能是非公共的。 我用的是 Xcode 5。
我也在我的项目中快速搜索了strlcat()和strlcpy(),没看到我用过。
知道可能是什么原因。
[更新] 在通过我的开发者帐户提交票证后,我实际上从 Apple 获得了更新(我们都有 2 个技术支持与开发者帐户一起提供。)基本上,Apple 支持告诉我这是已知问题。告诉苹果您的应用名称和 ID 号,您的应用将被列入白名单。一旦 Apple 发出 Go 信号,提交验证过程就没有问题。
【问题讨论】:
-
我遇到了同样的问题。我已就此向 Apple 发送电子邮件,但目前尚未回复。
-
顺便问一下,您使用的是使用 OpenSSL 的库吗?
-
我刚刚尝试验证我的 iOS 7 应用程序,我也遇到了这个问题。我正在使用依赖于 OpenSSL 的 SQLCipher。会不会是这个问题?
-
@TapForms SQLCipher 使用 strlcat 和 strlcpy,请查看我的答案以了解更多详细信息,我认为 SQLCipher 没有做任何苹果不赞成的事情,看来苹果需要修复它的 iOS 7 SDK,因此它不会将这些方法调用标记为“私有 API”
-
我通过使用 -DSQLCIPHER_CRYPTO_CC 编译 SQLCipher 解决了这个问题,它告诉它使用 Apple 的 CommonCrypto 库而不是 OpenSSL。好处是它编译得更快(不是以前很慢),而且显然还受益于加密代码的硬件加速(根据 SQLCipher 开发人员的说法)。
标签: ios ios7 submission xcode5