dyld:找不到符号:_NSURLAuthenticationMethodClientCertificate尝试运行iOS应用程序时

Jor*_*rge 48 xcode frameworks objective-c cfnetwork ios

我的应用程序崩溃了消息:

dyld:未找到符号:_NSURLAuthenticationMethodClientCertificate
参考自:/ var/mobile/Applications/C7B596AD-FB09-4685-BDFC-7E955A5DD185/IRON TRAINERS.app/IRON TRAINERS预期在:/System/Library/Frameworks/CFNetwork.framework/CFNetwork in/var/mobile/Applications/C7B596AD-FB09-4685-BDFC-7E955A5DD185/IRON TRAINERS.app/IRON TRAINERS(lldb)

当我尝试构建和运行时.当我从我的项目中删除CFNetwork时,它可以工作,我不知道为什么.

我刚刚安装了Xcode6Beta并打开了我的项目.它在Xcode5.1上运行良好.

更新:

它在使用Xcode 6的iOS模拟器上运行正常,问题出在运行iOS 7.1.1的设备上.

更新2:

下面选择的答案对我有用,虽然我已经将基础框架显式添加到我的项目中,但我必须将其删除并再次添加.至少现在问题已经解决了.:)

pll*_*uke 87

编辑包括您需要采取的两个可能的步骤:

  1. 确保您的项目具有Foundation框架.(删除并再次添加以确保).
  2. 确保Foundation框架包含 CFNetwork 之前.

似乎有哪些标题包含iOS8.0中的内容(例如,glextensions文件不再位于顶部标题中).如果您明确地将Foundation框架添加到您的项目中,它将构建正常.当然,使CFNetwork成为可选会导致故障,并且只是构建错误的解决方案而不是整体解决方案.

在此输入图像描述

  • 它已经在我的项目中,但我将其删除并再次插入.好像它现在正在运作.但不确定那里发生了什么.让我进行一些测试,我会给你反馈.谢谢. (2认同)
  • 其实这并没有解决问题!什么解决了Lap.felix的另一个答案:重新排序您的框架,以便在CFNetwork之前拥有Foundation. (2认同)

War*_*shi 38

我有类似的问题 UIAlertAction

dyld:未找到符号:_OBJC_CLASS _ $ _ UIAlertAction引自:/ var/mobile/Applications/.... app/...预期在/ var/mobile/Applications中的/System/Library/Frameworks/UIKit.framework/UIKit/.... app/...

制作UIKit.frameWork Optional解决了我的问题.在你的情况下,我猜,让你的CFNetwork.framework optional意志也解决你的问题.

使<code> CFNetwork.framework </ code>可选


Gra*_*rks 16

在XCode中重新排序没有做到这一点; 我正在使用Cocoapods,它创建了一个Pods.xcconfig文件.这有一个OTHER_LDFLAGS行.我把它-framework Foundation作为第一个条目,这使我的项目工作.

OTHER_LDFLAGS = -framework Foundation -ObjC …
Run Code Online (Sandbox Code Playgroud)

(请注意,每次重新生成此文件pod update.)


Fel*_*lme 11

重新排序框架以在CFNetwork之前拥有Foundation.

这是对Xcode 6中显然是一个错误的东西的临时修复.


小智 6

我在WWDC遇到了这个问题.我和一些苹果工程师交谈过,他们告诉我这是因为在CFNetwork和Foundation之间移动一些符号导致的SDK中的一个错误,并且很快就会在下一个版本中得到解决.在某些情况下,你可以通过玩导入订单框架来解决它,但它并不总是有效.

  • 谢谢(你的)信息.FWIW,我仍然看到测试版2中的错误. (4认同)