Author Archives: 晴宇蛙

[iOS] Thread SIGABRT 的雷

這兩天想說把 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 的相關版本,太久沒動要踩的地雷就會變多。

再論韓市長的人和與落敗

在 2020 的台灣選舉當中,韓市長參與的這一場,無疑是最近十數年來最驚心動魄、規格最為特殊、最讓人緊張的一場選戰。

從一開始的國民黨內初選紛爭,中間的落跑風波如影隨形,一直到選戰中後期的懶散行程、四處休閒度假跑選舉,都讓人有耳目一新的感覺。這樣的感覺,似乎是一種脫離現實般的存在,那樣的真實,又那樣的不真實。

最終的結果,韓市長以懸殊的票數落差,敗選了。

Continue reading

Source Tree 使用 proxy 連線設定

那天把自己的 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 常見縮寫釋疑筆記

常常在網路上看到一些縮寫,跟 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!

用 Linux + Dante 搭建簡易 Socks Server

最近遇到一個需要用 Socks Server 作為對外溝通的狀況,找了一下 Solution ,順利把 Socks Server 開起來開始使用,分享一下,如果有需要的人可以自行對照參考,也給自己留份紀錄。

起因是,放在外面的 Server 會被一堆網路小白圍攻,有人沒事就會來 try 一下可不可以 hack 進來,雖然說用 Firewall 封住了大部分的 port,但是那些重要的 Service Port ,例如 http 的 80, https 的 443 還是沒辦法封住,這時候就要啟用 fail2ban 這一套防衛機制來幫助處理。

Continue reading