XCode 不会使用我的框架的最新版本
XCode won't use the latest version of my framework
我有一个由 DYLIB 使用的框架,即使我更新了框架 XCode 仍在寻找旧版本。
我已验证 XCode 引用的框架是正确的,并且可以使用十六进制编辑器查看其中的版本字符串是否正确 (.32)。我已经制作了一个单独的测试应用程序(不使用 DYLIB)并且我可以毫无问题地使用相同的框架(在相同的位置)。
我什至可以很好地构建我的 DYLIB w/o 问题,并且可以看到它正在使用最新的头文件。但是在 运行 时间,由于使用了日志记录,我可以看到它正在使用旧版本的框架 (.31)。我还可以查看 linked DYLIB 的二进制文件并查看这个旧字符串。
有趣的是,如果我重命名框架二进制文件,DYLIB 仍会构建(测试程序将无法 link,这是预期的),所以它在某处使用了旧版本。
我尝试了常规清理,"clean build folder",还删除了派生数据目录 (rm -rf ~/library/Developer/Xcode/DerivedData/*)。我也重新启动了 XCode 和我的机器,但仍然遇到这个问题。
我也试过删除库引用并重新添加它,但这也无济于事。我通过查看 clang 使用的构建行验证了目录是正确的。
我不知道 XCode 到底从哪里读取旧版本的框架。
如果您在目标设置下检查 "frameworks search paths",您是否看到任何未检查的路径?在 OS returns 中搜索框架只有一个可能的参考?
我有一个由 DYLIB 使用的框架,即使我更新了框架 XCode 仍在寻找旧版本。
我已验证 XCode 引用的框架是正确的,并且可以使用十六进制编辑器查看其中的版本字符串是否正确 (.32)。我已经制作了一个单独的测试应用程序(不使用 DYLIB)并且我可以毫无问题地使用相同的框架(在相同的位置)。
我什至可以很好地构建我的 DYLIB w/o 问题,并且可以看到它正在使用最新的头文件。但是在 运行 时间,由于使用了日志记录,我可以看到它正在使用旧版本的框架 (.31)。我还可以查看 linked DYLIB 的二进制文件并查看这个旧字符串。
有趣的是,如果我重命名框架二进制文件,DYLIB 仍会构建(测试程序将无法 link,这是预期的),所以它在某处使用了旧版本。
我尝试了常规清理,"clean build folder",还删除了派生数据目录 (rm -rf ~/library/Developer/Xcode/DerivedData/*)。我也重新启动了 XCode 和我的机器,但仍然遇到这个问题。
我也试过删除库引用并重新添加它,但这也无济于事。我通过查看 clang 使用的构建行验证了目录是正确的。
我不知道 XCode 到底从哪里读取旧版本的框架。
如果您在目标设置下检查 "frameworks search paths",您是否看到任何未检查的路径?在 OS returns 中搜索框架只有一个可能的参考?