iOS extension app 問題總結

iOS extension app 問題總結


歡迎大家關注我的博客

extension app 中使用 主項目中文件中的函數

??場景: 當開發一個項目的時候建了很多一些全局的helper類,然后項目需要支持類似wiget的擴展app,然后開開心心的執行File -> New -> Target 建立了一個擴展app之后,發現之前的很多方法這里用不了??很明顯因為這是兩個app!!

??解決辦法: 把之前通用的方法封裝成一個framework

創建framework

a. File -> New -> Target -> Cocoa Touch Framework 創建一個framework, 把之前的文件鏈接進來

framework link

b. 之后在你的擴展app中添加這個framework

c. 最后在你需要的地方 import 進來就可以使用了

當然簡單的方法也有: 直接選擇需要的文件在右側界面中的 Target Membership中選中你需要的target即可,但是弊端也很明顯: 需要一個就要這么操作一次,而且功能劃分不清楚,不利于維護和理解。

extension app 中使用cocoapods的第三方庫問題

不能直接像主項目中一樣直接 import, 會報一個 no such module 的錯誤。

解決辦法

a. 選擇target 下的 extension app(就是你建的擴展app),選擇 Build Settings 然后在 Objective-c Bridging Header 中添加橋接文件,沒有的話就建一個(一般以your_project_name-Bridging-Header.h命名)

b. 選擇 project (主項目) 在info中的configurations中設置如下:

extension-cocoapods.png

??展開debug和release找到擴展app項目選擇 Pods-xxx.debug和 Pods-xxx.release, 沒有選擇之前為none。

c. 清理工程 command + b 編譯一下

d. 還有錯誤基本清理下Xcode的緩存數據重復c步驟即可

最后

??今后遇到問題會接著更新。

app瘦身

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容