【问题标题】:Undefined symbols for architecture in watchKitwatchKit 中架构的未定义符号
【发布时间】:2015-05-18 19:45:50
【问题描述】:

我遇到的错误是Undefined symbols for architecture arm64:。下面我提供了更深入的截图。根据 Xcode,错误的来源在 interfaceController 的 watchKit 扩展中。该类是从动态库中引用的。如果我真的 CMD+单击我导入的框架 Im 带到完全移植到 Swift 的 Swift 中的框架,它最初是用 Objective-C 编写的。第二张图片显示了我对该类的导入语句,第三张图片显示了我如何在框架文件的 .h 中设置导入语句。

【问题讨论】:

    标签: ios xcode swift watchkit arm64


    【解决方案1】:

    当这些文件被选中时,在右侧边栏的Target Membership 下,您的应用(带有小铅笔图标)是否被选中为目标会员?

    这应该可以解决您的问题。

    【讨论】:

    • 原来框架中的 .m 文件没有与框架本身链接,只有 .h 文件在哪里。
    • 问题有标签而不是答案
    【解决方案2】:

    看起来动态库没有arm64架构。为了验证,请对您的动态库的静态库使用以下命令。

    lipo -info <libraryName>.a
    

    请确保将库添加到扩展目标中。

    如果您的库不是静态库,而是像 .framework 这样的框架,请按照以下步骤操作。 1. 使用 cd 命令进入框架

    cd /Users/<User>/<Path>/<Library_Name>.framework
    

    2。使用 ls 命令并列出框架文件中的所有文件。您将看到三个名为“Library_Name, Headers and Versions”的文件。 3. 使用以下命令显示库的所有架构。

    lipo -info <Library_Name>
    

    4。您可以查看为该库构建的所有架构的列表。

    【讨论】:

    • 你能告诉我更多关于在哪里输入这个字符串的信息吗?
    • lipo -info like lipo -info /Users//Desktop/iOS/lib.a
    • 添加了额外的过程来确定框架架构。请查看编辑回复。
    猜你喜欢
    • 2013-01-27
    • 2014-08-07
    • 2013-10-13
    • 2011-09-19
    • 2012-07-20
    • 2011-08-14
    • 1970-01-01
    相关资源
    最近更新 更多