Parse and Facebook SDK "Bolts" Framework error Parse and Facebook SDK "Bolts" Framework error xcode xcode

Parse and Facebook SDK "Bolts" Framework error


Turns out the order in which you include/search the frameworks in your project matters.

Here is what I did to work with Parse 1.6.4 and FacebookSDK without CacoaPods

  1. Use the latest version of Bolts. (1.1.4)
  2. Your include paths should be ordered to find Bolt first, then FacebookSDK, then Parse

Ordering your search paths


Well I found it. The problem was that old files (which were now deleted) were being referenced in the "Library Search Paths Flag". Thanks to this post for giving me the idea. All I had to do was delete the old paths and it now works again.

EDIT: It appears that for some situations the order of the search paths matters as well (see below).


That worked for me Temporary workaround for Parse 1.6.4 and Facebook SDK 3.23

Add to your AppDelegate.m or another class following constant after imports and before implementation section: NSString *const BFTaskMultipleExceptionsException = @"BFMultipleExceptionsException";

The explanation of the bug https://stackoverflow.com/a/29136507/1345244

One hack I found for working around missing symbols, was just redefining the missing symbol again in my code.

The BFTaskMultipleExceptionsException string is defined here like this:

NSString *const BFTaskMultipleExceptionsException = @"BFMultipleExceptionsException"; So maybe just try putting that one line into your code?

From the history on github, it looks like this was just added to Bolts about 19 days ago. Version 1.1.4 of Bolts was released 14 days ago (1.1.3 was from October last year). So it probably is caused by the version mismatch of Bolts that you noticed.

Another option might be to get an older version of Parse from before Bolts 1.1.4 was released.

Presumably this will be fixed once a new Facebook SDK is available with Bolts 1.1.4.