Just My Life & My Work

Posts tagged ‘ios’

[圖解] 如何發佈行動應用程式

從 2012 年開始,我就從事行動應用程式開發(主要是 iOS App),至今已超過 10 年。當有人想知道我做什麼工作時,我必須短時間內說明清楚,只是一直沒找到好的描述方式,能讓外行的親友理解。

遇到神人做了這張圖,簡單描繪出我這些年來的工作日常~😎

行動應用程式發布過程的典型階段:

  1. 註冊與開發
  2. 建置和測試
  3. 品質保證
  4. 內部審核
  5. 應用程式商店優化
  6. 應用程式提交至商店
  7. 發布
(繼續閱讀…)

[iOS] WKWebView 與 Native 互通資料

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

多年前我也有寫過 Objective C與Javascript的溝通,然而那時還能使用 UIWebView,現在已經被棄用,所以我們就直接使用 WKWebView 吧!

(繼續閱讀…)

萬年老系統

萬年老系統是非常誇張的說法,我寫 iOS App 是從 iOS 6 開始,至今 2022 年已邁入 iOS 16,若說是老系統,應該頂多 16 年啦~😀

實際上現在公司的產品,是從 2016 年開始(看程式檔案有年份),還是使用 Objective C 開發,至今邁入第七年,我發現是有四個工程師陸續接手研發,因為有看到作者名字和程式風格。

因為我一直是開發 iOS App,所以一個月內我就對大部分的功能流程熟悉,包含串接後端 API 部分,只要有使用到的 API,一定給他測個成功和失敗案例。

目前公司後端工程師數量遠超過前端,畢竟後端模組至少有 10 個吧~假如 iOS 和 Android 勉強算兩個模組,可見後端複雜度之高~🤪

稍微了解 API 後,我明白後段相依性很大,想要在舊有錯綜複雜邏輯下往上加功能,肯定會有一些出乎意料之外的狀況。讓我想起萬年老系統那張圖~很是貼切呢!

總之,且戰且走,我們採滾動式開發~盡可能不要讓前端拿到有問題的 API 就好啦!😜

若有朋友需要開發 App,歡迎來找我喔~

[iOS] Jenkins 建置 CI/CD 流程

夥伴們正如火如荼趕上線,我也趕緊利用開發閒置的時間,進行 Jenkins 建置 CI/CD 流程

此流程對於大型團隊相當有助益,不過就算是一人團隊,若產品專案需要每隔一段時間釋出給他人測試,有持續部署機制就會節省許多時間!

早在 2018 年,我香港團隊就實施 Jenkins CI/CD 流程,我們 iOS 和 Android 團隊各有四個工程師,有此持續整合迭代流程,就可以很順暢地進行開發~😀

(繼續閱讀…)

[iOS] 服務器的證書無效問題

理論上憑證和網域必須一致,可是有時候想在不一致時來連線,遇到被阻擋問題該如何解決呢?

(繼續閱讀…)

[Xcode] Crashes 崩潰紀錄

現在看崩潰紀錄,有另一個選擇,就是直接在 Xcode 中查看,不過這也得用戶願意分享,才能獲取到其崩潰紀錄。

在此我就以兩個我經手的 App,可以看到跟我們 debug 時出現的一樣,而且有更多的手機資訊,如 Device、iOS、Architecture 等等。

我還是覺得,Firebase Crashlytics 紀錄比較詳細啦~🙃

事實上,很多工具都是第三方做得很棒,然後大廠就直接出價買下來佔為己有!像是 Google 收購 Firebase 和 Crashlytics,或是 Apple 收購 Testflight,開發贏不過,就直接收購。

[iOS] Navigation Bar 介面

每當 iOS 一升級,編譯後跑 App,就會得到好多驚喜!😐

這次要來說說 Navigation Bar 介面在 iOS 13 開始的改變。

上兩截圖,是在完全沒有調整下的畫面,實在醜到一個境界~

  • 可以看到下一頁從右邊滑到左邊,上方 Navigation Bar 可看到上一頁的畫面⋯⋯
  • 下一頁往上捲動,上方 Navigation Bar 居然變灰色⋯⋯
(繼續閱讀…)

[iOS] WebView Local Storage

為了快速開發功能,有時候會鑲嵌 WebView。此時,我想要讓 App 與 Web 登入狀態一致,需要了解當我在 App 登入拿到的資料,要如何與 WebView 共享?🤔

上圖是 Chrome 開發人員工具的畫面截圖,得知有 MEMBER 與 TOKEN 兩個 key。

因為 WebView 是將資料儲存於本機端,於是我就得研究 WebView Local Storage,如何在 WebView 設定資料和取得資料。

(繼續閱讀…)

iPhone 空間不足而不斷重開機

2019 年買了 iPhone 11,但只是買最低容量 64G,以為自己會有空備份,但實際上很快就滿,愛拍照的我,三不五時就得刪除舊的照片或沒在用的 App。

一次不小心,在江子翠蝴蝶公園拍照兼錄影,因為白天和夜間都太美了,就這樣讓容量再次爆滿。從八里騎公路車回家,運動紀錄 App 不時當機,其實就該有警覺。回到家打開設定看容量剩多少,才瞥到 154 MB,立馬當機,再也進不了桌面⋯⋯😔

(繼續閱讀…)

[iOS] Mac OS M1 跑 pod install

過去使用 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 有關係,好在只要進行下列指令:

  1. sudo arch -x86_64 gem install ffi
  2. arch -x86_64 pod install

即可解決問題。🤠

之後 pod install 就使用 2 步驟。

參考:

Don’t forget to include the Crash Report log file under DiagnosticReports directory in bug reports

標籤雲