注意:如果創建的framework中使用了category類,則在使用framework的項目配置中【Other Linker Flags】需要添加參數【-ObjC]或者【-all_load】。從Xcode5開始用到系統自帶的框架不用導入框架, 但是如果是在靜態庫中用到了這些框架還是必須導入-ObjC這個flag告訴鏈接器把庫中定義的Objective-C類和Category都加載進來。這樣編譯之后的app會變大(因為加載了其他的objc代碼進來)。但是如果靜態庫中有類和category的話只有加入這個flag才行。-all_load這個flag是專門處理-ObjC的一個bug的。用了-ObjC以后,如果類庫中只有category沒有類的時候這些category還是加載不進來。變通方法就是加入-all_load或者-force-load。-all_load會強制鏈接器把目標文件都加載進來,即使沒有objc代碼。-force_load在xcode3.2后可用。但是-force_load后面必須跟一個只想靜態庫的路徑。
如果創建的framework類中使用了.dylib或者.tbd,首先需要在實際項目中導入.dylib或者.tbd動態庫,然后需要設置【Allow Non-modular Includes ....】為YES,否則會報錯"Include of non-modular header inside framework module"。
Build Active Architecture Only修改為NO,否則生成的靜態庫就只支持當前選擇設備的架構。
Dead Code Stripping設置為NO
Strip Debug Symbol During Copy 全部設置為NO
Strip Style設置為Non-Global Symbols
1、打開Xcode,新建工程。不要選擇“Application”,選擇“Framework & Library”。選擇第一個,然后Next。
在TARGETS下選中工程,在Build Settings下更改幾個參數。
在 Building Setting 中設置一下 Architectures,在原有基礎上添加一行 armv7s
5、設置 Headers 和 Resources
在TARGETS -> Build Phases -> Headers 中添加頭文件,Public 中添加公開的頭文件
在TARGETS -> Build Phases -> Copy Bundle Resources 中添加framework中使用的bundle資源文件
問題:[bundle打包自動轉換tiff格式的處理方法]
png圖片如果用了@2x 、@3x會自動轉換成tiff格式的圖片。設置不轉換的方法是 在bundle的target中 Build Settings 里的 COMBINE_HIDPI_IMAGES 設置為NO