【问题标题】:What is the difference between adding a dylib to "Link Binary With Libraries" and adding to "Other Linker Flags"将 dylib 添加到“Link Binary With Libraries”和添加到“Other Linker Flags”有什么区别
【发布时间】:2012-11-30 06:41:54
【问题描述】:

就我而言,我在 iOS XCode 项目的“构建阶段”中将“libsqlite3.dylib”添加到“使用库链接二进制文件”。有人告诉我,这可能会导致应用程序提交期间被拒绝,我应该在“构建设置”中将“-libsqlite3”添加到“其他链接器标志”中。理想的方法是什么?

【问题讨论】:

  • 我觉得很奇怪,一个被拒绝而另一个是安全的。 XCode 中不允许使用动态库,出于安全考虑,Apple 也不允许使用动态库。但是,.dylib 扩展名并不意味着库是动态链接的。无论哪种方式,您都在静态链接库,应该没问题。
  • @lancegoh 的回答指的是可选框架和必需框架之间的区别。通过将其标记为可选,您允许没有该库的用户仍然能够下载您的应用程序。但是,您必须手动检查代码中是否存在库,否则它会在引用该库的第二秒崩溃。而且 libsqlite3 已经存在了一段时间,(甚至被 Core Data 弃用)所以我不明白为什么你必须将它标记为可选(假设 lancegoh 是正确的)

标签: ios xcode


【解决方案1】:

只是将这个链接回另一个关于弱链接的帖子

How do I weak link frameworks on Xcode 4?

您可能需要访问苹果的文档以了解差异。

https://developer.apple.com/library/mac/#documentation/MacOSX/Conceptual/BPFrameworks/Concepts/WeakLinking.html

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-08-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-17
    • 1970-01-01
    • 2015-05-02
    相关资源
    最近更新 更多