【问题标题】:iOS app validation problems: non-public API usage, libsqlite usageiOS 应用验证问题:非公开 API 使用、libsqlite 使用
【发布时间】:2012-10-26 20:58:54
【问题描述】:

当我尝试在 appstore 上验证我的 iOS 应用程序时,我在 XCODE 上收到以下错误:

您的应用包含非公开 API 使用。请检查错误,更正它们并重新提交您的申请。

该错误没有解释我们使用了哪些非公共类。我怎样才能得到它?

应用引用 Payload/...app/libsqlite3.0.dylib 中的非公共符号:_dispatch_sources_type_vm、guarded_close_np、guarded_open_np

我试图通过从 xcode 中删除 libsqlite3.dylib 并添加链接器标志“-lsqlite3”或“-libsqlite3”来解决问题(最后一个标志是应用程序未编译的)。

我该如何解决?

【问题讨论】:

  • 在您的代码中,是否有任何警告?如果有,请检查它们。也许其中之一会导致问题。它曾经发生在我身上......
  • 我不确定,您添加的链接器标志位置不正确。因为它解决了问题。检查一次..

标签: ios xcode validation sqlite


【解决方案1】:

您也可以只下载 sqlite 合并并将 sqlite 源代码包含到您的应用程序中。这不会链接到系统 libsqlite3.0.dylib 并且可以避免该问题。您的应用程序二进制文件会变大一点,但构建/验证问题会消失。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-12-09
    • 2017-10-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多