【发布时间】: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