我有一个由DYLIB使用的框架,即使我已经更新了框架,XCode仍然在查看旧版本。
我已经验证了XCode引用的框架是正确的,并且可以使用十六进制编辑器查看其中的版本字符串是否正确(.32)。我已经制作了一个单独的测试应用程序(不使用DYLIB),我可以使用相同的框架(在同一位置),没有任何问题。
我甚至可以构建我的DYLIB精细w / o问题,并且可以看到它正在使用最新的头文件。但是在运行时,由于使用了日志记录,我可以看到它正在使用旧版本的框架(.31)。我也可以查看链接的DYLIB的二进制文件并查看这个旧字符串。
有趣的是,如果我重命名框架二进制文件,DYLIB仍将构建(测试程序将无法链接,这是预期的),因此它在某处使用旧版本。
我已经尝试过常规的Clean,“clean build folder”,还删除了派生数据目录(rm -rf~ / library / Developer / Xcode / DerivedData / *)。我也重新启动了XCode和我的机器,但仍然遇到了这个问题。
我也尝试删除库引用并重新添加它,这也没有帮助。我已经通过查看clang使用的构建行验证了目录是否正确。
我无法弄清楚XCode在哪里读取旧版本的框架。
答案 0 :(得分:1)
如果您在目标设置下检查“框架搜索路径”,您是否看到未检查的路径?跨OS搜索框架只返回一个可能的引用?