[iOS開發]創建並使用static library
在進行iOS開發時,底層的很多功能代碼都是採用C/C++來實現的,並且與APP的code有層次上的區別,切這部分功能代碼是可以重用的,這個時候我們期望把這部分代碼放在單獨的library中。 在iOS上,是沒有辦法使用dynamic library的,所以我們需要創建一個static library( for iOS ),具體步驟如下:
1.XCode->File->NewProject->iOS(Category)/Framework & Library/Cocoa Touch Static Library
建立好project以後,將已經存在的source file添加到project中,我以最簡單的一個c file爲例:
//zenLog.h
#ifndef __ZENLOG_H__
#define __ZENLOG_H__
void hello();
#endif
實現
//zenLog.c
#include <stdio.h>
#include "zenLog.h"
void hello() {
printf( "Hello, World!" );
}
將這兩個文件添加到project中以後
直接進行compile,注意這個時候要把active scheme選擇正確for iOS device or iOS Simulator(與後面要reference此lib 的APP project active scheme匹配,否則會出現此libary在APP project中無法正常加載的問題),此外,要注意需要debug還是release版本。編譯完成以後,可以在Products group中選擇對應的library,然後右鍵“Show in Finder”,這樣爲後續在APP
project中添加引用做好準備。
2.創建一個APP project,把在finder中顯示的static library直接drag & drop到APP project的“Frameworks group”中
這樣XCode會自動幫我們在Build Phases->Link Binaray with Libraries中把reference的static library添加上。
3.在viewController.m的viewDidLoad中添加
-(void)viewDidLoad {
[ super viewDidLoad ];
hello();
}
4.compile & run; "Hello, World!"就會在XCode的output窗口顯示出來。