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
I have added:
SafariServices.framework
CoreBluetooth.framework
It is working
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
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With