xcode4.3下制作framework——(xcode4.2下也通用)


將自己的類封成庫供別人調用,非常方便,就行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 :HelloWorldBulid 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 FinderDebug-iphoneuniversal就是生成的framework

 


17、     如果Headers文件夾里面為空,則把你封裝的.h文件復制到里面,之后就可以在你的程序中使用了。

18、     至此framework制作完成,效果圖:

 



免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM