Swift Practice # 171 Google Admod 閃退之-ObjC Linker 與SPM

Dogpa Chen
Aug 23, 2022

上一篇簡單的練習改變SwiftUI Map的顯示比例,達到所有顯示資料都能夠顯示在Map的比例尺中

這一篇則要來分享一個在side project遇到的狀況,side project預計也要放入Google Admob 的Banner廣告,所以就用了之前的方法來使用Admob,也有注意到要先將自己的ID放入在Info-plist內以防止閃退,但在build的過程中還是遭遇到閃退狀況,所以要來看看要如何排解。

遇到的閃退如下

Thread 2: "The Google Mobile Ads SDK was initialized without AppMeasurement. Google AdMob publishers, follow instructions here: https://googlemobileadssdk.page.link/admob-ios-update-plist to include the AppMeasurement framework and set the -ObjC linker flag. Google Ad Manager publishers, follow instructions here: https://googlemobileadssdk.page.link/ad-manager-ios-update-plist"

其實在這個閃退錯誤內Google已經告訴我們可以到閃退提供的連結來找到解法,而解法就是之前沒有需要設定的Other Linker Flags,先到專案>Targets>Build Settings>點選All後搜尋Other Linker Flags,就會找到它。

接著在這邊加入-ObjC

重新Build基本上就可以了,幾個月前記得是還不用做這個設定,回頭看自己原本的專案在這邊已經設定好了,但遇到了還是跟大家分享一下,這也是在使用套件時要隨時注意套件本身有更新或是調整設定的地方。

另外在這邊也可以看到之前只能透過CocoaPods安裝的Google Admob也可以透過SPM來安裝,網址如下。

https://github.com/googleads/swift-package-manager-google-mobile-ads.git

若是沒有一些前期環境限制的人可以透過SPM來安裝,但CocoaPods也不為是一個好方法。持續加油!!

--

--