ios中創建自己的框架


如果你是IOS的新手,並有.net開發的背景(就像我一樣),你可能到處去找,哪里有dll呢?

其實,IOS平台是使用框架而不是dll,框架里面包含公共頭文件和二進制文件。很不幸,XCode並不支持你自己去創建框架。

對於一個開發人員,這是個大問題,b/c缺少框架,我們就不得不去創建一個靜態庫文件。但是使用lib文件是一件痛苦的事情。實質上,向工程添加庫的引用,並告訴功能工程在哪里可以找到你的頭文件,這對於用戶體驗並非一件好事


所以我們應該如何突破這個限制呢?

在查閱過大量的資料之后,我發現在gitHub上有一個非常驚人的開源項目:iOS-Universal-Framework. 這個工程基本上是一個項目模板。你只需安裝這個項目,現在你就多了一個新選擇來創建項目。

現在,讓我們討論安裝過程還有如何使用它:

  1. 下載zip文件.
  2. 保證你放在一個地方,並方便日后使用。B/C工程模板,每次你更新XCode的時候,你都需要重新安裝這個項目模板(不要擔心,安裝過程非常的快)。
  3. 確保XCode已完全關閉
  4. 解壓縮zip文件並轉到文件夾:Real Framework/install.sh(如果不行,你還要運行Fake Framework/install.sh)
  5. 如果你熟悉使用命令終端,只需運行install.sh。如果你不熟悉,那么只需把它改名為 install.sh.command 並雙擊運行它。
  6. 當它開始運行,它會詢問你:XCode安裝在哪里。如果你沒有修改過默認XCODE的安裝路徑,只需回車確認。
  7. 然后它會再詢問你,需要安裝在什么地方。只需敲入y並回車。
  8. 輸入密碼,回車
  9. 等待安裝結束
  10. 打開Xcode並打開New Project窗口。
  11. 在IOS選擇框架和庫的地方,你會發現多了一個選擇“Static iOS Framework” 
 

現在,你有了一個全新的框架!但是,你應該如何使用它?

你基本上可以把它當做一個普通工程。但是,當你需要創建公共的API的時候,你需要告訴它。

現在讓我們一步一步創建一個框架,發布你的公共API,並使用它!

  1. 使用new project對話框創建你的框架
  2. 你現在創建了一個空白的項目。現在我們添加一個新的類。在這個例子中,我們添加一個UIView的類,名字叫做MyView.
  3. 現在,我需要這個API供使用這個框架的開發者能正常使用,我需要讓.h文件變為公共。點擊項目導航器的項目,並選擇build phase:

當你點擊擴展Copy Header面板,你會看到3個選項,Public, Private和 Project。默認設置的話,當你添加一個新的文件,它會在project中可見。當你需要把它改變為public,只需把頭文件拖到public面板中。

4. 讓我們在class中輸入一些代碼:

01 @implementation MyView
02 -(id)init
03 {
04    self = [super init];
05    if(self)
06    {
07       self.backgroundColor = [UIColor orangeColor];
08    }
09    return self;
10 }
11 @end

我們把我們的View的默認背景顏色設為橙色

5. 現在下一步是可選的。但是我的觀點是最好也配置一下。如果你使用Apple的默認框架的時候,你會發現import語句就像:#import UIKit/UIKit/.h  或者 #import  QuartzCore/QuartzCore.h 。這有個優點,就是你知道框架的名字,然后知道引用哪個頭文件。這些頭文件在框架中全部是public的API。所以你不需要添加一堆頭文件。

 

 

所以讓我們按如下步驟來做。

第一,打開 Add New File對話框,並添加頭文件:

為頭文件命名(跟框架的名字一樣),在頭文件里面,加入#import語句,添加你的框架中所有的公共頭文件。

現在,不要忘記了在Build Phase面板它把變為PUBLIC!!!(步驟3)

6. 編譯項目,現在就可以使用它了。

7.  創建一個新工程,對於這個例子我們就創建一個簡單的View應用,叫做MyApp.

8. 當項目創建后,點擊項目面板,並下拉到"Linked Frameworks and Libraries Section",並點擊加號按鈕:

 

 

 

現在點擊“Add Other”按鈕跳至你的框架頁面:

是時候寫些代碼了!

9. 首先打開ViewController.m文件,寫入你的代碼:

10. 運行你的項目,你就會看到如下畫面:

你現在就完成了一個框架,可以在不同的項目和組之間共享這個框架了!

我希望這篇文章對你來說是有用的。

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM