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 的相關版本,太久沒動要踩的地雷就會變多。
武漢肺炎在延燒一個多月之後,終於迎來了封城的景況。
最早發現是在 2019/12 下旬,網路上已經有爆出相關的消息。結果在一片和諧的需求之下,最早提出警告的那些文章都被下架,傳出消息的那些人還被公安約談甚至被逮補,理由是危害國家安全。
Continue reading在 2020 的台灣選舉當中,韓市長參與的這一場,無疑是最近十數年來最驚心動魄、規格最為特殊、最讓人緊張的一場選戰。
從一開始的國民黨內初選紛爭,中間的落跑風波如影隨形,一直到選戰中後期的懶散行程、四處休閒度假跑選舉,都讓人有耳目一新的感覺。這樣的感覺,似乎是一種脫離現實般的存在,那樣的真實,又那樣的不真實。
最終的結果,韓市長以懸殊的票數落差,敗選了。
Continue reading王金平院長出錢出力換來被刺一刀,韓國瑜市長神話將從人和開始崩落
那天把自己的 Proxy Server 架設起來之後,就順勢再啟動一次 fail2ban 嚴格的管制,結果,這次又把自己 ban 掉了。
經過一番調查,發現是 scm server ,也就是 git server 連線的部分過於頻繁,又引發 fail2ban 把我自己的 IP ban 掉。所以接下來的問題就是,要怎麼把 Source Tree 設定為透過 Proxy 出去 access。
稍微 Google 了一輪,發現 Source Tree 裡面並沒有直接的設定可以處理這一段,本來以為跟 Browser 類似,都是只要叫出某個 Proxy 設定,填上去就收工了,事實上並不是這樣,而是需要透過 command line 直接去設定 git global 的 http config。
Continue reading常常在網路上看到一些縮寫,跟 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!
最近遇到一個需要用 Socks Server 作為對外溝通的狀況,找了一下 Solution ,順利把 Socks Server 開起來開始使用,分享一下,如果有需要的人可以自行對照參考,也給自己留份紀錄。
起因是,放在外面的 Server 會被一堆網路小白圍攻,有人沒事就會來 try 一下可不可以 hack 進來,雖然說用 Firewall 封住了大部分的 port,但是那些重要的 Service Port ,例如 http 的 80, https 的 443 還是沒辦法封住,這時候就要啟用 fail2ban 這一套防衛機制來幫助處理。
Continue reading