Swift Framework 雜記
最近又接了新的任務,第一次碰 Framework,這次是用Swift 寫出來。
記錄一下參考的文章
1.iOS Swift Framework 製作(上) 連結
2.iOS Swift Framework 製作(下) 連結
考慮到客戶要使用時,他們的語言可能會有 Swift 和 Objective C 兩種,所以要讓OC 也可以使用的話,需要在前方加上 @objc 修飾詞。
還有比較重要是 Framework 包出來時會分實機和模擬器各兩包,所以需要增加一個 “Aggregate” Target,增加一個 Run Script ,填入此 連結 內容。
注意: universal-framework.sh 中 ${PROJECT_NAME} 要把這個換成你自己的 framework 的名字。
這樣就能包出實機和模擬器可以使用的 Framework了,但此刻又遇到 OC 模擬器不能跑, Swift 兩種都能跑的狀況,實在是…應該請客戶淘汰 OC 可能比較快…
然後想到之前用客戶的 Framework,老是不包出模擬器的版本,想必他們一定是懶得包不然就是認為他們是硬體廠商,要用就是在實機上,用在模擬器根本沒有必要之類的,所以他們一直不願意釋出可以支援模擬器的版本。
其中也發現一個現象,Framework 裡有 Delegate,宣告時不能加weak 不然 OC 會呼叫不到,但在 Switf 卻能呼叫到,所以只好將 weak 拿掉,兩種語言就可以支援,這有點奇怪,還需要再了解原因。