Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

dyld: Symbol not found: _NSURLAuthenticationMethodClientCertificate when trying to run iOS app

My app is crashing with the message:

dyld: Symbol not found: _NSURLAuthenticationMethodClientCertificate
Referenced from: /var/mobile/Applications/C7B596AD-FB09-4685-BDFC-7E955A5DD185/IRON TRAINERS.app/IRON TRAINERS Expected in: /System/Library/Frameworks/CFNetwork.framework/CFNetwork in /var/mobile/Applications/C7B596AD-FB09-4685-BDFC-7E955A5DD185/IRON TRAINERS.app/IRON TRAINERS (lldb)

when I try to build and Run. When I remove the CFNetwork from my project, it works, I don't know why.

I just installed Xcode6Beta and opened my project. It was working fine on Xcode5.1.

UPDATE:

It works fine on iOS simulator with Xcode 6, the problem is on my device running iOS 7.1.1.

UPDATE 2:

The selected answer below worked for me, although I already had foundation framework explicit added to my project, I had to remove it and add it again. Problem solved, at least, for now. :)

like image 207
Jorge Avatar asked Jun 04 '14 17:06

Jorge


4 Answers

Edited to include two possible steps you need to take:

  1. Make sure you have Foundation framework to your project. (Remove and add it again to be sure).
  2. Make sure the Foundation framework include is before CFNetwork.

There seems to be a change in which headers include what in iOS8.0 (the glextensions file, for example, is no longer in the top header). If you explicitly add Foundation framework to your project, it will build fine. Making CFNetwork optional will, of course, lead to failures and is only a solution for the build error and not a solution overall.

enter image description here

like image 62
plluke Avatar answered Sep 23 '22 07:09

plluke


I had a similar issue with UIAlertAction

dyld: Symbol not found: _OBJC_CLASS_$_UIAlertAction Referenced from: /var/mobile/Applications/ ....app/ ... Expected in: /System/Library/Frameworks/UIKit.framework/UIKit in /var/mobile/Applications/ ....app/ ...

Making UIKit.frameWork Optional solved my issue. In your case I am guessing, making your CFNetwork.framework optional will solve your problem too.

Make your <code>CFNetwork.framework</code> optional

like image 21
Warif Akhand Rishi Avatar answered Sep 24 '22 07:09

Warif Akhand Rishi


Re-ordering in XCode didn't do the trick; I'm using Cocoapods, which creates a Pods.xcconfig file. This has a OTHER_LDFLAGS line. I put -framework Foundation as the first entry, and that's made my project work.

OTHER_LDFLAGS = -framework Foundation -ObjC …

(Beware, this file gets re-generated each time you pod update.)

like image 30
Graham Perks Avatar answered Sep 23 '22 07:09

Graham Perks


Reorder your frameworks to have Foundation before CFNetwork.

That's a temporary fix to something that is obviously a bug in Xcode 6.

like image 36
Felix Lapalme Avatar answered Sep 20 '22 07:09

Felix Lapalme