Xcode6 建立靜態庫

同一工程下的分層項目:使用靜態庫來建立,經過 .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.h 文件拖到 Public

而後,咱們編譯下 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 是最底層.能夠作數據訪問層

 

相關文章
相關標籤/搜索