【发布时间】:2014-07-28 09:02:52
【问题描述】:
我正在尝试编译一些使用 CFNetwork 框架的代码,它在模拟器中运行良好(部署目标为 iOS 7.1),但是当我尝试在运行 iOS 的 iPhone 5 上运行它时7.1,它会抛出以下错误:
dyld:找不到符号:_NSURLAuthenticationMethodClientCertificate 引用自:/var/mobile/Applications/...... 预期在:/System/Library/Frameworks/CFNetwork.framework/CFNetwork 在 /var/mobile/Applications/...
关于我的应用程序的信息,它是用 Swift 编写的,我通过 Parse 导入 CFNetwork,我通过一个 Objective-C 桥接头将其导入到我的 Swift 代码中。
正如其他人所建议的那样,我可以通过将 CFNetwork 框架设为可选而不是必需来解决此错误。但是,我的应用程序需要 CFNetwork 框架才能工作(我使用 Parse 作为后端,没有它就无法通信)。
因此,我很好奇是否有人能够通过使用上述以外的方法解决此问题。
【问题讨论】:
-
我在这里找到了让它在我的项目中工作的答案,可能会对你有所帮助。 stackoverflow.com/questions/24043532/…
-
感谢您的建议,但明确添加 Foundation 框架对我不起作用。
-
使用 Xcode 6 Beta 的 Obj-C 应用程序出现相同错误,当我切换到 Xcode 5 时效果很好。
-
我在设备上遇到过类似的崩溃,请查看this answer,有帮助吗?
-
@Claus 在应用程序的“链接框架和二进制文件”选项卡中更改库的顺序,以便 Foundation 在 CFNetwork 没有更改框架实际导入的顺序之前出现。为了更改顺序,我必须在我的 Pods.xcconfig 文件的 OTHER_LDFLAGS 部分中更改导入框架的顺序,以便 -framework Foundation 位于 -framework CFNetwork 之前。抱歉延迟回复,祝你好运!