同一工程下的分層項目:使用靜態庫來建立,經過 .a 文件來鏈接工程之間的聯繫測試
File-->New-->Project 選擇 CoCoa Touch Static Library (靜態庫)ui
填寫名稱 LibraryDemospa
建立完成的目錄code
在 LibraryDemo.h 裏面寫入能夠測試的代碼 blog
#import <Foundation/Foundation.h> @interface LibraryDemo : NSObject -(void)printHelloWorld; @end
LibraryDemo.m 代碼it
#import "LibraryDemo.h" @implementation LibraryDemo -(void)printHelloWorld{ NSLog(@"HelloWorld"); } @end
以上是 LibraryDemo 工程的代碼io
如今要準備作些設置,此時的靜態庫尚未準備編譯
選擇工程 LibraryDemo 1 --> TARGETS --> 2 LIbraryDemo -->3 Build Phases 模板
接下來,點擊4 "+" 號 選擇 New Headers Phaseclass
選擇 Hearders 點擊" + "
選擇咱們須要對外的頭文件(LibraryDemo.h)
而後,咱們編譯下 LibraryDemo 工程.
編譯成功 , Succeeded
咱們建立一個 MyAppDemo 工程
New --> Project --> Application --> 選擇 SingleViewApplication 模板
MyAppDemo--> TARGETS --> 選擇 MyAppDemo --> Build Phass 選擇 Link Binary With Libraries
添加,咱們剛纔 LibraryDemo 工程的.a 文件
工程下面就會出現 libLibraryDemo.a 文件
選擇 ViewController.m 咱們來測試下代碼
這裏出現了,頭文件沒法提示,說明咱們頭文件並無在 MyAppDemo 工程下
接下來咱們設置MyAppDemo
選擇 TARGETS -->MyAppDemo
在 BuildSettings 搜索 User Header Search Paths
在裏面添加 $(BUILT_PRODUCTS_DIR) 並設置 recursive
完成後
如今代碼能夠檢索到了
這是咱們 LibraryDemo 工程下的文件,而且運行能夠打印出 HelloWorld
靜態庫建立完成.
那麼接下來,咱們來看看,靜態庫之間如何關聯並在工程上使用
咱們按照 LibraryDemo 的步驟建立一個 LibraryDemo2
建立完成的工程目錄結構
設置LibraryDemo2 工程 已在上面步驟講述過,這裏不在陳述
設置 BuildSettings 添加 搜索頭文件$(BUILT_PRODUCTS_DIR)
接下來,修改 LibraryDemo2.h 代碼
而後咱們在 LibraryDemo2.m 重寫 LibraryDemo.h 的 printHelloWorld
好了,咱們再編譯下.
並把libLibraryDemo2.a 文件添加如圖
注意:若是 LibraryDemo2 文件找不到,請確認,你是否編譯過 LibraryDemo2 或 是否編譯出錯.
如今咱們修改下 ViewController.m 代碼,檢測下是否運行正常
如今的項目分層是:
MyAppDemo
LibraryDemo2
LibraryDemo
MyAppDemo 作表現層能夠分紅兩層 iPhone / iPad
LibraryDemo2 能夠作業務層
LibraryDemo 是最底層.能夠作數據訪問層