將自己的類封成庫供別人調用,非常方便,就行xcode中的許多類庫一樣。那么如何制作自己的類庫呢?
本人在網上看過很多童鞋的文章,都沒有試成功,最后在同事的幫助下搞定。今天有點空閑時間,趕緊記下來,一是跟大家分享,二是怕忘了,今天有同事問我,都感覺有點生了,所以有了這篇文章。
下面教大家一步步制作framework
1、 新建一個項目選擇Framwork&Library中的Cocoa Touch Static Library。如圖
2、 命名項目名稱
3、 加載自己要封裝的東西
4、 加載自己的代碼
5、 選擇設備和模擬器兩種方式,編譯生成libhello_world.a文件
6、 查看是否生成兩個文件
7、 選擇Fill——>New——>Taget彈出界面選擇Aggregate
8、 命名類庫的名稱
9、 選擇Taget :HelloWorld的Bulid Phases選項卡
10、 添加Taget
11、 點擊又下角Add Build Phase,選擇Add Run Script。貼上這段腳本
xcodebuild -project ${PROJECT_NAME}.xcodeproj -sdk iphonesimulator -target ${PROJECT_NAME} -configuration ${CONFIGURATION} clean build
xcodebuild -project ${PROJECT_NAME}.xcodeproj -sdk iphoneos -target ${PROJECT_NAME} -configuration ${CONFIGURATION} clean build
12、 同樣的方法添加另一個腳本,腳本的意思我沒有研究,你可以詳細看看
SIMULATOR_LIBRARY_PATH="${BUILD_DIR}/${CONFIGURATION}-iphonesimulator/lib${PROJECT_NAME}.a" &&
DEVICE_LIBRARY_PATH="${BUILD_DIR}/${CONFIGURATION}-iphoneos/lib${PROJECT_NAME}.a" &&
UNIVERSAL_LIBRARY_DIR="${BUILD_DIR}/${CONFIGURATION}-iphoneuniversal" &&
UNIVERSAL_LIBRARY_PATH="${UNIVERSAL_LIBRARY_DIR}/${PRODUCT_NAME}" &&
FRAMEWORK="${UNIVERSAL_LIBRARY_DIR}/${PRODUCT_NAME}.framework" &&
# Create framework directory structure.
rm -rf "${FRAMEWORK}" &&
mkdir -p "${UNIVERSAL_LIBRARY_DIR}" &&
mkdir -p "${FRAMEWORK}/Versions/A/Headers" &&
mkdir -p "${FRAMEWORK}/Versions/A/Resources" &&
# Generate universal binary for the device and simulator.
lipo "${SIMULATOR_LIBRARY_PATH}" "${DEVICE_LIBRARY_PATH}" -create -output "${UNIVERSAL_LIBRARY_PATH}" &&
# Move files to appropriate locations in framework paths.
cp "${UNIVERSAL_LIBRARY_PATH}" "${FRAMEWORK}/Versions/A" &&
ln -s "A" "${FRAMEWORK}/Versions/Current" &&
ln -s "Versions/Current/Headers" "${FRAMEWORK}/Headers" &&
ln -s "Versions/Current/Resources" "${FRAMEWORK}/Resources" &&
ln -s "Versions/Current/${PRODUCT_NAME}" "${FRAMEWORK}/${PRODUCT_NAME}"
13、 點擊右下角的Add Build Phase,選擇Add Copy Files。在Destination選項中選擇Absolute Path,在Subpath路徑加載路徑:${BUILD_DIR}/${CONFIGURATION}-iphoneuniversal/${PRODUCT_NAME}.framework/Versions/A/Headers
14、 點擊“+按鈕”,加載你要封裝的.h文件
15、 選擇Taget: HelloWorld進行編譯
16、 然后選擇libhello_world.a文件,右鍵選擇Show in Finder。Debug-iphoneuniversal就是生成的framework。
17、 如果Headers文件夾里面為空,則把你封裝的.h文件復制到里面,之后就可以在你的程序中使用了。
18、 至此framework制作完成,效果圖: