跳到主要內容

發表文章

目前顯示的是 9月, 2023的文章

iOS 17升級後的textField bug

 升級過後,客戶發生了一個Bug,實機模擬不出來,但是模擬器做得出來。 模擬器的狀況是在 text Field(_: should Change Characters In: replacement String:) 輸入一個字後,會馬上又收到一個backspace。造成行為異常。 但是麻煩的是,我們測試所有可以測的測試機,所有同事私人手機都升級幫忙測。都測不出來。 所以就算修正了模擬器的bug,我們也無法驗證。 會造成這個原因是 線上版本此函式回傳 false  看起來模擬器是用backspace來實作return false的結果。這樣無從猜測到底客戶為什麼會有這個狀況。 經過兩天排查,今天要求再去跟客戶聯繫。客戶才告知他已解決。 原來客戶使用倉頡輸入法。 經測試預設使用倉頡才會發生此狀況。只要加其他輸入法,並把倉頡設為非預設就可解了。 該函式retrun 改為true也可解掉。 lesson learn:   1. 客戶問題,模擬不出,可能是他有一個特殊使用情境與背景,可能跟機型版本無關 2. 重複回訪客戶很重要,客戶有可能自己解決 3. 不能輕忽模擬器才發生的bug。

xCode build popup "codesign repeatedly asks for access to System Keychain"

 之前遇到,會有一個always allows 但是這次沒有這個button。 解法 https://developer.apple.com/forums/thread/687712 進到keychain,開發者的憑證,選private key,get info

cocoapod error: Stored properties cannot be marked unavailable with '@available'

 xCode 升級後,原本的專案要重新 pod install 。 執行後,發生錯誤 cocoapod error: Stored properties cannot be marked unavailable with '@available' 網路上大致的解法是調整pod file 這段  platform :ios, '13.0' 往上調版本,但是我的狀況沒用。 試了幾個方法,最後砍掉相關檔案重install,跳出了另外的錯誤 Failed to parse JSON at file:  找了一下解法,cocoapod 的連結有問題,要去把cocoapods repos砍掉重來 執行以下語法 rm -rf ~/.cocoapods/repos/trunk/   再pod install 就可以了 記錄一下。 好像走多層迷宮,最後解法根本與最初的錯誤提示沒啥關係。 後續: 換到另外一個branch又發生了。要把所有pod 相關檔案全刪了,重新pod install,才解。

xCode15: Downloading iOS 17.0 Simulator (21A328): Error

 更新 xCode 15 後,在Target切換模擬器與實機這邊預設要下載iOS 17,但是跳 Downloading iOS 17.0 Simulator (21A328): Error:  HTTP status 400: bad request。以為是網路問題,但是怎樣都下載不了。網路上也查不到資料,後來找到 apple 有相關直接下載模擬器的方式。 直接到 https://developer.apple.com/download/all/ 下載 iOS 17 Simulator Runtime 根據 https://developer.apple.com/documentation/xcode/installing-additional-simulator-runtimes 的解法 調整一下語法 xcode-select -s /Applications/Xcode.app xcodebuild -runFirstLaunch xcrun simctl runtime add "~/Downloads/iOS_17_Simulator_Runtime.dmg" 裝完後,重開xCode 即可