Swift 5 看來真的是大改。
照道理 String 的 substring 這樣常用的東西,應該不會有太多變動,結果還是讓我遇到 Warning,說 substring 已經 deprecated,要改用 subscript 的方式。
查了一下,要改為 Array 取用的方式,然後不給 Start ,用「..<」這樣的形式,就可以指定要從開頭拿到某個位置。
Continue readingSwift 5 看來真的是大改。
照道理 String 的 substring 這樣常用的東西,應該不會有太多變動,結果還是讓我遇到 Warning,說 substring 已經 deprecated,要改用 subscript 的方式。
查了一下,要改為 Array 取用的方式,然後不給 Start ,用「..<」這樣的形式,就可以指定要從開頭拿到某個位置。
Continue reading這兩天想說把 iOS 的 App 拿起來用新版本的 XCode 跑一次,更新過的 XCode 不知道有沒有改進一些 UI 操作上的小問題,所以就把 Project 開起來。
開起來之後歷經一番奮鬥,原本的舊 Project 當然是問題多多啦,先是 cocoapods 那邊更新就花上不少時間,接著再解掉一些 Swift 5 特有的問題與 Warning,最終讓我 Build 出一個可以跑在模擬器上的版本。
很開心的按下 Run 的三角形,等著 App 在模擬器上跑出來,終於,見到大大的模擬器上順利的把 App Run 起來,操作了一下,阿咧,直接就當掉了。
畫面上是停在 SIGABRT ,看看前後,好像也沒啥問題,一開始真的是找不到方向。
後來找了幾篇文章,有提到說可以把 Console 打開來看一下,有一些 Exception 會把錯誤訊息輸出到 Console 上,果不其然,直接就發現問題是出在 Google Admob SDK 上,新版本的必須要多一個設定,不然 App 開起來沒多久就會自己掛掉,沒辦法再 Run。
官方的說明在此:https://developers.google.com/ad-manager/mobile-ads-sdk/ios/quick-start#update_your_infoplist
實在是原本的那個 SIGABRT 過於籠統,看不出來問題在哪。找好久,結果依照人家官方文件指示,乖乖的把 info.plist 裡面該放上的欄位數值設定上去之後,賓果!就可以順利跑起來沒有問題了。
關鍵是這個:
<key>GADIsAdManagerApp</key> <true/>
在 info.plist 加上這個 property 就可以讓 Google Admob SDK 順利運作。
過程有點慘烈,所以留篇文章記錄一下,如果有遇到類似狀況的朋友,請直接參考上面的那個連結,看看你的 info.plist 是不是少了那個欄位,加上去之後就可以了。
這故事告訴我們,沒事還是要把 XCode 開起來更新 Project 的相關版本,太久沒動要踩的地雷就會變多。
常常在網路上看到一些縮寫,跟 Github 有關,不過乍看之下短時間內沒辦法會意過來是什麼意思,因此花了點時間找出這些常用縮寫的意思,做個筆記,如果有需要的人也可以直接參考,不用再花時間去找。
PR: Pull Request
這個應該是 Github 上的基礎知識了,就是一個 Pull Request,請求 commit merge 的。
LGTM: Looks Good To Me.
看起來這東西是可以的,意思是 commit 得到認可,或者其他意見被接受。
SGTM: Sounds Good To Me.
跟上一個類似,不過 Sounds 聽起來更溫柔一些 (私心認為)。
WIP: Work In Progress.
您的意見正在處理中,大概是這個意思吧。
PTAL: Please Take A Look.
請求大人您關愛的眼神,得空的時候看一下小的呈上的部分。
TBR: To Be Reviewed.
還需要被檢視一番,所以先放著。
TL;DR: Too Long; Didn’t Read.
您寫的東西太長了,所以直接跳過不看。 (意思應該是廢話少講,講重點)
TBD: To Be Done(or Defined/Discussed/Decided/Determined)
這東西等待被完成 … ,那個 D 就看上下文自己帶入對應的字,看是等待被怎麼樣。
Github 應該算是目前全世界 Source Code 的集散中心了吧,所以這些縮寫記起來,如果看到相關討論的時候,比較可以快速進入狀況。
Happy Coding!