(CocoaPods, pod install, pod update, arch -x86_64, error handling)

在M1安裝cocoapod套件時,如果出現下面訊息

Searching for inspections failed: undefined method `map’ for nil:NilClass

如果在M1上透過pod install安裝套件一樣出現這錯誤
可以參考本文

--

--

(Line, 群組異常, 聯繫Line客服, 不能沒有Line ಥ﹏ಥ)

手機版的Line群組突然顯示(1)沒有其他成員
但收得到訊息,卻無法發送訓息
而電腦版的正常

這問題蠻困擾的,可以參考本文恢復line群

有聯繫Line客服後(ID: @linehelptw)

轉接線上客服人員,得到了基本障礙排除

・請務必確認行動裝置內有5GB以上的剩餘儲存空間
・請點選此常見問題內的「同步好友與群組資訊」連結,執行手動同步資訊:如何手動同步裝置內與伺服器上的資訊?
https://help.line.me/line/ios/?contentId=20015839

刪了手機的容量超過5G,群組依然沒有恢復 ಥ﹏ಥ

點了下方連結中的「同步好友與群組資訊」
https://help.line.me/line/ios/?contentId=20015839

--

--

(autolayout, error handling)

用程式設定autolayout的時候
跳出下圖錯誤訊息

“Unable to activate constraint with anchors … because they have no common ancestor. Does the constraint or its anchors reference items in different view hierarchies? That’s illegal.”

可以參考本文進行除錯

出現這錯誤表示在設定Auto Layout找不到要設定 constraint 目標

檢查Auto Layout是否寫在addSubview後

--

--

(Xcode, error handling, can not open Xcode prokect)

開專案時,如果出現下圖的問題

The project at ‘/…/.xcodeproj’ cannot be opened because it is in a future Xcode project file format. Adjust the project format using a compatible version of Xcode to allow it to be opened by this version of Xcode.

導致無法開專案

參考下方文獻得知

這個訊息的原因是
此專案限制的Xcode版本比目前使用的Xcode版本高
導致無法開啟,跳提示訊息

因此只需要將專案限制的Xcode版本降低
即可正常開啟專案
可參考下方的介紹降低開啟專案的Xcode版本

方法一

先使用高一點版本的Xcode開啟專案
並在專案設定中,右方的Project Format
下拉可以選擇其他Xcode版本

--

--

--

--

(error handling, Pod install, Cocapods)

透過M1安裝Cocoapods的套件時
如果出現下圖的錯誤訊息

[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

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

可以參考本文排除

似乎跟 Ruby ffi 有關係

安裝fill

sudo arch -x86_64 gem install ffi

--

--

(Tableview, IndexPath, rawRepresentable)

在tableview顯示畫面,或處理點擊後cell的事件

判斷index時如果使用indexPath,在閱讀上比較不直觀外
日後要新增或調整會需花時間查看當下的設定

如果使用Static Cells 或是 匯入的資料陣列中型別內無帶Section跟row資訊
可以參考本文的做法

方法ㄧ

參考文獻

設定TableIndex,透過enum將indexPath定義對照表

這樣子程式碼比較冗長,可以參考第二個方式

方法二

感謝 安迪大大 提供優化方式

跟 方法1 一樣,設定TableIndex,透過enum將indexPath定義對照表
但是透過數代替IndexPath的位置
例如Section*100+Row(依照Row數量多寡決定section的倍數)
可以省去設定一堆IndexPath(row: 0, section: 0)的設定

即可完成Cell呈現

--

--