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

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

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)

当我尝试build立和运行。 当我从我的项目中删除CFNetwork时,它工作,我不知道为什么。

我刚刚安装了Xcode6Beta并打开了我的项目。 它在Xcode5.1上工作正常。

更新:

它在Xcode 6的iOS模拟器上工作正常,问题出在我的设备上运行iOS 7.1.1。

更新2:

下面的select答案适用于我,虽然我已经有基础框架显式添加到我的项目,我不得不删除它,并再次添加。 问题至less现在解决了。 🙂

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

  1. 确保你有你的项目的基础框架。 (删除并再次添加,以确保)。
  2. 确保Foundation框架包含 CFNetwork 之前

似乎有一个更改,其中标题包括iOS8.0中的内容(例如,glextensions文件不再位于顶部标题中)。 如果您明确地将Foundation框架添加到您的项目中,它将会正常生成。 使CFNetwork成为可选项当然会导致失败,并且只是构build错误的一个解决scheme,而不是整体解决scheme。

在这里输入图像描述

我和UIAlertAction有类似的问题

dyld:找不到符号:_OBJC_CLASS _ $ _ UIAlertAction引用自:/ var / mobile / Applications / …. app / …预计位于:/System/Library/Frameworks/UIKit.framework/UIKit in / var / mobile / Applications / ….应用/ …

使UIKit.frameWork Optional解决了我的问题。 在你的情况下,我猜测,使您的CFNetwork.framework optional将解决您的问题。

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

在XCode重新sorting并没有办法; 我正在使用Cocoapods,它创build一个Pods.xcconfig文件。 这有一个OTHER_LDFLAGS行。 我把-framework Foundation作为第一个入口,这就是我的项目的工作。

 OTHER_LDFLAGS = -framework Foundation -ObjC … 

(请注意,每次您pod update时都会重新生成此文件。)

在CFNetwork之前重新组织你的框架。

这是对Xcode 6显然是一个bug的临时修复。

我在WWDC遇到了这个确切的问题。 我和一些苹果工程师交谈,他们告诉我这是由于在CFNetwork&Foundation之间移动了一些符号而导致的SDK中的一个bug,并且很快就会在下一个版本中得到解决。 在某些情况下,您可以通过播放订单框架来解决这个问题,但这并不总是奏效。

在运行iOS 8.1.3的设备上,使用带有Xcode 6.3的sqlite3,所以使用sqlite3 v3.7.13也遇到同样的问题。

C函数sqlite3_errstr()是在sqlite3 v3.7.15中引入的。

我的代码调用sqlite3_errstr()。

应用程序在启动时崩溃。

将libsqlite3.dylib设置为可选(而不是必需的)做了这项工作。

我得到了一些类似的错误:dyld:找不到符号: _NSDictionary0通过链接:我将我的相关项目的部署目标重置为相同的值:8.0,那么它确定。 在ios9.0和ios8.0中可能会有所变化,所以如果我们想让8.0兼容的话,我们应该让相关的项目知道。

dyld:未find符号:___NSDictionary0__在XCode 7和iOS目标9.0中使用带有发现文档的Google ServiceGenerator二进制文件

使CFNetwork.framework可选,它为我工作

几次它发生在我身上一个简单的清洁(移+ CMD + K)做的伎俩。