Riddhi Shah
Riddhi Shah

Reputation: 763

Updating Google AdMob SDK from 7.7.0 to 7.8.0 Undefined Symbols Error

I have updated my Google AdMob SDK from 7.7.0 to 7.8.0. After that I am getting this error:

Undefined symbols for architecture x86_64:
"_OBJC_CLASS_$_SFSafariViewController", referenced from: objc-class-ref in GoogleMobileAds(flat-x86_64)

ld: symbol(s) not found for architecture x86_64 clang: error: linker command failed with exit code 1 (use -v to see invocation)

I have added all these frameworks:

AdSupport,
AudioToolbox,
AVFoundation,
CoreGraphics,
CoreMedia,
CoreTelephony,
EventKit,
EventKitUI,
MediaPlayer,
MessageUI,
StoreKit,
SystemConfiguration

Before I updated this SDK it was working fine. This is in my Framework Search Path in Build Phases

$(inherited)

$(PROJECT_DIR)/SDKs

$(PROJECT_DIR)

$(PROJECT_DIR)/SDKs/GoogleMobileAdsSdkiOS-7.8.0

linked framework

Upvotes: 9

Views: 4271

Answers (2)

Arlo Randall
Arlo Randall

Reputation: 46

In version 7.8.0 new dependencies to the frameworks CoreBluetooth and SafariServices were added, so adding these solved the issue this time.

The GoogleMobileAds SDK (aka AdMob SDK) has many dependencies and they are being added (and sometimes removed) in successive releases. For instance, JavaScriptCore framework is a new dependency starting with version 7.13.0 released on 2016-10-17. If you run into this issue again check for updates to the framework dependencies in the release notes log:

https://firebase.google.com/docs/admob/release-notes

Upvotes: 1

Quan Doan
Quan Doan

Reputation: 171

I have added:
SafariServices.framework
CoreBluetooth.framework
It is working

Upvotes: 17

Related Questions