【问题标题】:XCode won't use the latest version of my frameworkXCode 不会使用我的框架的最新版本
【发布时间】:2015-05-08 09:44:51
【问题描述】:

我有一个由 DYLIB 使用的框架,即使我更新了框架,XCode 仍在查看旧版本。

我已经验证 XCode 引用的框架是正确的,并且可以使用十六进制编辑器查看其中的版本字符串是否正确(.32)。我制作了一个单独的测试应用程序(不使用 DYLIB),我可以毫无问题地使用相同的框架(在相同的位置)。

我什至可以在没有问题的情况下构建我的 DYLIB,并且可以看到它正在使用最新的头文件。但是在运行时,由于使用了日志记录,我可以看到它使用的是旧版本的框架 (.31)。我还可以查看链接的 DYLIB 的二进制文件并查看这个旧字符串。

有趣的是,如果我重命名框架二进制文件,DYLIB 仍然会构建(测试程序将无法链接,这是预期的),所以它在某处使用的是旧版本。

我尝试过常规清理、“清理构建文件夹”,还删除了派生数据目录 (rm -rf ~/library/Developer/Xcode/DerivedData/*)。我也重新启动了 XCode 和我的机器,但仍然遇到这个问题。

我还尝试删除库引用并重新添加它,但这也没有帮助。我通过查看 clang 使用的构建行验证了目录是否正确。

我不知道 XCode 从哪里读取旧版本的框架。

【问题讨论】:

    标签: ios objective-c xcode build frameworks


    【解决方案1】:

    如果您检查目标设置下的“框架搜索路径”,您是否看到任何未检查的路径?跨操作系统搜索框架只返回一个可能的参考?

    【讨论】:

    • 我在发布帖子后立即发现了问题,使用“opensnoop”查看它是从哪个目录中提取的。出于某种原因,我的搜索路径中的另一个目录中有一个旧副本,这是我不期望的。删除它可以解决问题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-12-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多