【问题标题】:How to use bzip2 format in iOS? Apple tell me bzBuffToBuffDecompress is private APIs如何在 iOS 中使用 bzip2 格式? Apple 告诉我 bzBuffToBuffDecompress 是私有 API
【发布时间】:2011-02-26 00:50:02
【问题描述】:

今天我将我的 iOS 应用程序提交到应用商店,但很快我收到了来自苹果的邮件,它说,

无法发布到 App Store 因为它使用私人或 未记录的 API:

Private Symbol References

BZ2_bzBuffToBuffDecompress

如您所知,如 iPhone 中所述 开发者计划许可协议 第3.3.1节,使用非公开 不允许使用 API。在你之前 应用程序可以审查应用程序 审核组,请解决此问题 并将新的二进制文件上传到 iTunes 连接。

我该怎么办?我的应用确实需要 bzip2 格式支持。

【问题讨论】:

  • WTF ?使用SQLite可以但是bzip2不行?
  • 更奇怪的是,我完全忘记了他们允许使用 zlib... 禁止 bzip2 现在对我来说更像是一种疏忽,因为他们没有在 SDK 中添加文档。

标签: cocoa-touch ios app-store iphone-privateapi bzip2


【解决方案1】:

由于 bzip2 的许可证是兼容的(请阅读它),您可以静态链接到 bzip2 而不是动态链接。稍作搜索即可找到iOS-libarchive,这将有助于您做到这一点。

【讨论】:

  • 谢谢,我会尝试静态链接到 bzip2 看看发生了什么。
  • 我在我的项目中添加了静态bzip2,但是Xcode仍然使用动态版本,所以我将libbz2.a更改为libzz2.a,Xcode找不到动态版本,所以它可以工作。
【解决方案2】:

来自 Ben Gottlieb 对this question 的回答:

在您的目标设置窗口中,滚动 一直到“其他链接器标志” 部分并确保 -lz 在 场。这将链接到 内置 zlib,你的错误应该 走开。

除了这种情况,您要使用 -lbz2 标志。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-18
    • 2018-01-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多