你好,歡迎來到IOS教程網

 Ios教程網 >> IOS編程開發 >> IOS開發基礎 >> 手把手教iOS生成.a包及常見的問題

手把手教iOS生成.a包及常見的問題

編輯:IOS開發基礎

我的例子是打包MJRefresh

環境OS10.11.4,  XCode Version 7.3.1 (7D1014)

生成.a如下:

  1. 創建新工程:

    09D889DE-1DAD-4CD6-8835-2650BDC8AF6A.png


  2. 把下載的 MJRefresh-master加到你的工程中,如下:

屏幕快照 2016-08-12 下午5.14.49.png














工程顯示如下

B1F083FB-B5F2-4FA4-8C26-3A86B8628CD2.png

3.然後進行如下圖操作

DCA4DCA6-E766-42F4-99BC-98E839B25AD5.png


4.你要把compile source這裡的.m文件刪除多余的,僅保留暴露的.h對應的.m,(不然的話,會報文件重復錯誤)如下圖:

417E8C9D-27AD-40C9-935F-694D020AE85A.png

5.先生成模擬器的.a包,選中模擬器,然後編譯(command + B)

F84DD35F-E75D-4B56-8B04-A47DC534558D.png


6.成功後Products下面的.a文件會變成黑色,選中這個 .a 然後右鍵Show in Finder,就可以看到模擬器的.a了,如下圖

13DC5E01-7AB3-447D-A97D-0D957507C6D1.png

真機的.a包也是一樣生成,重復第五步驟就可以。

這樣我們就得到了模擬器和真機的.a包。



下面我們就開始使用,

7.新建工程RefreshDemo,把.a包拖拽到新建工程,刪除要暴露的.m文件,如下圖:
49A2DF91-1101-437D-B936-4C544122F89E.png

這個時候關鍵一步,設置RefreshDemo工程:other Linker Falg 設置為:-all_load,因為我要暴露的是個category,不設置的話,就會崩潰,報錯為找不到某方法,假如你的.a沒有category就不需要設置了。設置圖如下:
A9ABE345-A906-4A4F-A2A1-BC61979044F0.png

刷新調用代碼是  

// 下拉刷新

    _listTableView.mj_header= [MJRefreshNormalHeader headerWithRefreshingBlock:^{
    }];

到此,大功告成,運行效果如下:

1.png

真機和模擬器都可以使用.a文件可以合並成為一個.a文件 使用終端合成具體方法如下:

終端代碼如下:
lipo -create /iOS/Debug-iphoneos/librefreshDemoStaticLibrary.a /iOS/Debug-iphonesimulator/librefreshDemoStaticLibrary.a  -output SQY/iOS/libGamePus.a其中SQY/iOS/iphoneos/libGamePlusAPI.a //為真機庫。  
 /iOS/iphonesimulator/librefreshStaticLibrary.a //為模擬器庫 
 -output /iOS/librefreshStaticLibrary.a //為兩個合並後存放的路徑



  1. 上一頁:
  2. 下一頁:
蘋果刷機越獄教程| IOS教程問題解答| IOS技巧綜合| IOS7技巧| IOS8教程
Copyright © Ios教程網 All Rights Reserved