)iOS framework製作教程

來源:互聯網
上載者:User
iOS framework 製作教程,這次不是靜態包!!!   我們使用一種變通的方法來製作 iOS  framework,廢話不多說,上步驟:

1.開啟Xcode建立一個“Cocoa Touch Static Library”工程,並刪除現有的target.

2.右鍵project選擇添加New Target,在彈出的視窗中找到Cocoa ,在Cocoa右側視窗中選擇“Loadable Bundle”。
注意:到這步的時候不要選擇 framework,應為 framework是MAC OS上的,iOS是不支援的,但是iOS 支援“Loadable Bundle(cfbundle)”

3.target 上右鍵get Info 在Build  Settings下面設定下面的5項內容:
a.搜尋Wrapper Extension,把預設的bundle改成 framework.
b.修改Mach-O Type 為Relocatable Object File.
c.關閉Dead Code Stripping ,把勾去掉!
d.關閉Link With Standard Libraries.
e.移除所有關於“AppKit”  和  “Foundation”的參考,刪除“Other Linker Flags”的所有值,並刪除“GCC_PREFIX_HEADER“的值!

4.在frameworks Info.plist檔案中將Bundle OS Type code的值BNDL改為:FMWK,並且在target的 get info視窗中的Properties標籤欄下也將Type改為FMWK。


5.在工程中添加你的代碼。
例如:我們添加一個類
#import <Foundation/Foundation.h>

@interface Help : NSObject {

}

- (void)show;

@end

#import "Help.h"


@implementation Help

- (void)show
{
    NSLog(@"framework!!!");
}

@end


6.在target上右鍵Add---New Build Phase---New Copy Headers Build Phase,此時target下面會多出一個灰色的檔案夾—Copy Headers。

7.然後將我們剛才添加的Help類的.h檔案從上面拖到下面的Copy Headers中,再在該檔案夾上右鍵—Set Role---Public.

8.從上面將所有要打進 framework的.m檔案拖到target下的Compile Sources檔案夾裡。

9.編譯,如果出錯,那就在  Build下面的 將“Other Linker Flags “設定為 –ObjC 、-all_load、-lxml2,不要寫在一起,請一項項添加。

注意:如果編譯出現大量的錯誤,說明你沒有刪除“AppKit”  和  “Foundation”的參考,

編譯後參考:

在build/Debug-iphonesimulator下面出現一個framework檔案夾: 

使用我們剛才製作的framework

在新的工程中匯入framework 


我們把剛才製作的kibernet.framework拷貝到新的工程的目錄下,選擇kibernet.framework檔案夾

添加後的 

使用framework中的類:
匯入標頭檔 
#import "TestFrameworkViewController.h"
#import <Kibernet/help.h>
@implementation TestFrameworkViewController
ViewDid Load中測試一下: 
- (void)viewDidLoad{
    [super viewDidLoad];
    Help * help = [[Help alloc] init];
    [help show];
    [help release];
}
輸出結果: 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.