[iOS] WKWebView 與 Native 互通資料
現在製作 App,很多時候需要嵌入 WebView,如此能快速開發與更新。既然 App 與 Web 互動頻繁,那麼就需要來了解如何讓 WKWebView 與 Native 互通資料。

多年前我也有寫過 Objective C與Javascript的溝通,然而那時還能使用 UIWebView,現在已經被棄用,所以我們就直接使用 WKWebView 吧!
(繼續閱讀…)現在製作 App,很多時候需要嵌入 WebView,如此能快速開發與更新。既然 App 與 Web 互動頻繁,那麼就需要來了解如何讓 WKWebView 與 Native 互通資料。
多年前我也有寫過 Objective C與Javascript的溝通,然而那時還能使用 UIWebView,現在已經被棄用,所以我們就直接使用 WKWebView 吧!
(繼續閱讀…)夥伴們正如火如荼趕上線,我也趕緊利用開發閒置的時間,進行 Jenkins 建置 CI/CD 流程。
此流程對於大型團隊相當有助益,不過就算是一人團隊,若產品專案需要每隔一段時間釋出給他人測試,有持續部署機制就會節省許多時間!
早在 2018 年,我香港團隊就實施 Jenkins CI/CD 流程,我們 iOS 和 Android 團隊各有四個工程師,有此持續整合迭代流程,就可以很順暢地進行開發~😀
(繼續閱讀…)現在看崩潰紀錄,有另一個選擇,就是直接在 Xcode 中查看,不過這也得用戶願意分享,才能獲取到其崩潰紀錄。
在此我就以兩個我經手的 App,可以看到跟我們 debug 時出現的一樣,而且有更多的手機資訊,如 Device、iOS、Architecture 等等。
我還是覺得,Firebase Crashlytics 紀錄比較詳細啦~🙃
事實上,很多工具都是第三方做得很棒,然後大廠就直接出價買下來佔為己有!像是 Google 收購 Firebase 和 Crashlytics,或是 Apple 收購 Testflight,開發贏不過,就直接收購。
為了快速開發功能,有時候會鑲嵌 WebView。此時,我想要讓 App 與 Web 登入狀態一致,需要了解當我在 App 登入拿到的資料,要如何與 WebView 共享?🤔
上圖是 Chrome 開發人員工具的畫面截圖,得知有 MEMBER 與 TOKEN 兩個 key。
因為 WebView 是將資料儲存於本機端,於是我就得研究 WebView Local Storage,如何在 WebView 設定資料和取得資料。
(繼續閱讀…)在 SwiftUI 中,我們想呼叫 API,回傳 JSON 資料,可以怎麼做呢?
此範例將可以持續點擊 Fetch Joke,來呼叫回傳隨機的某笑話。
提供笑話的 API: https://api.chucknorris.io/jokes/random
// 20220509000756
// https://api.chucknorris.io/jokes/random
{
"categories": [
],
"created_at": "2020-01-05 13:42:29.296379",
"icon_url": "https://assets.chucknorris.host/img/avatar/chuck-norris.png",
"id": "wBq7IOiXSwOuZScaevFxwg",
"updated_at": "2020-01-05 13:42:29.296379",
"url": "https://api.chucknorris.io/jokes/wBq7IOiXSwOuZScaevFxwg",
"value": "Chuck Norris didnt dial the wrong number......you just answered the wrong phone"
}
過去使用 Intel chip 都非常順利跑 pod install,現在使用 Apple chip,就出現問題囉~
[NOTE]
You may have encountered a bug in the Ruby interpreter or extension libraries.
Bug reports are welcome.
For details: https://www.ruby-lang.org/bugreport.html
似乎跟 Ruby ffi 有關係,好在只要進行下列指令:
即可解決問題。🤠
之後 pod install 就使用 2 步驟。
參考:
Don’t forget to include the Crash Report log file under DiagnosticReports directory in bug reports
作為一個不稱職的 Swift 工程師,偶爾還是要來了解一下物件的生與死。
我實在是不太想管底層怎麼管理物件的生與死,只要系統幫我自動處理好,我只想要專心在有趣的商業邏輯上。🙃
(繼續閱讀…)
HappyMan・迴響