我正在尝试编译一些使用 CFNetwork 框架的代码,它在模拟器中运行良好(部署目标为 iOS 7.1),但是当我尝试在运行 iOS 的 iPhone 5 上运行它时7.1,报如下错误:
dyld: Symbol not found: _NSURLAuthenticationMethodClientCertificate Referenced from: /var/mobile/Applications/...... Expected in: /System/Library/Frameworks/CFNetwork.framework/CFNetwork in /var/mobile/Applications/...
关于我的应用程序的信息,它是用 Swift 编写的,我正在通过 Parse 导入 CFNetwork,我通过 objective-C 桥接 header 将其导入到我的 Swift 代码中。
正如其他人所建议的那样,我能够通过将 CFNetwork 框架设为可选而非必需来解决此错误。但是,我的应用程序需要 CFNetwork 框架才能运行(我使用 Parse 作为后端,没有它就无法通信)。
因此,我很好奇是否还有其他人能够使用上述以外的方法解决此问题。
最佳答案
当我将我创建的应用程序从一台计算机移动到另一台计算机时遇到此错误。如果您使用 CMake 或类似的东西来生成项目文件,那么我有一个解决方案:在 CMake 中,我没有选择 XCode 作为生成器,而是切换到 Unix Makefiles。然后我所要做的就是在终端中导航到生成 make 文件的文件夹并键入:
$ make
$ sudo make install
这创建了应用程序,所有框架和动态库都正确打包在我的/usr/local/bin 文件夹中。
我知道这个错误也可以在 XCode 中修复,但我花了很多时间来调整设置,但从未弄清楚。这是我打包应用程序的解决方案;但是,我仍然在 XCode 中进行所有编辑。
关于ios - 代码在模拟器中运行,在设备上运行时抛出 dyld symbol not found 错误(Xcode 6 beta),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24092895/