【问题标题】:Build iOS .framework where has PLCrashReporter dependent project for all architectures为所有架构构建具有 PLCrashReporter 依赖项目的 iOS .framework
【发布时间】:2014-01-08 15:17:29
【问题描述】:

我创建了一个静态库并将另一个 xcodeproj (PLCrashReporter) 文件作为链接添加到项目中,包括用户搜索头文件路径以查找头文件,然后按照此框架 script 生成 .framework。

但是当我获得生成的 .framework 文件并将其添加到示例测试客户端项目中时,我得到“架构 arm64 的未定义符号”。

错误是我自己的项目文件不在依赖的 PLCrashReporter 文件中。虽然其他时候我没有规则来处理架构 XXX 的文件“PLCrasgReporter 文件”。

在定义哪些标头将在您的框架中公开的步骤中,PLCrashReporter 没有标头,因为我已将其作为链接添加到我的项目中,并将目标依赖项添加到静态库目标和链接二进制文件将项目添加到 PLCrashReporter。

为具有依赖项目文件的所有架构构建框架的正确方法是什么?

我使用最新的 PLCrashReporter 1.2 rc2。 我已将所有目标的构建活动架构设置为“否”。 在我的静态库中添加了 -all_load 其他链接器标志。 上面链接中的框架脚本的所有说明。

【问题讨论】:

    标签: ios xcode frameworks plcrashreporter arm64


    【解决方案1】:

    PLCrashReporter-iOS 目标已经支持生成 iOS/Simulator 静态 .framework。

    我没有尝试将 PLCrashReporter 用作子项目(它旨在用作二进制文件),但理论上如果您依赖“CrashReporter-iOS”目标,您将获得一个可以链接的框架。

    我还推荐PLCrashReporter mailing list 解决项目特定的问题;以线程电子邮件格式讨论细节的空间更大。

    【讨论】:

    • 确实,进入邮件列表更合适。我的意图是最终使用嵌入到我的 .framework 中的 PLCrashReporter,因此需要链接并包含在我的结果 .framework 中。
    • 对于 iOS,您还可以查看 HockeySDK 如何将 PLCrashReporter 集成到其框架中:github.com/bitstadium/HockeySDK-iOS
    • 我看到他们的源代码中有 .framework。但是您不能将 .framework 嵌入到 iOS 中的 .framework 中。
    猜你喜欢
    • 2014-01-22
    • 1970-01-01
    • 2015-02-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-21
    • 2017-03-31
    • 1970-01-01
    • 2012-04-01
    相关资源
    最近更新 更多