iOS制作framework
ios自定義.framework .framework可以制作為靜態庫和動態庫,此文章是制作靜態庫。系統的.framework都是動態庫,自己制作的.framework都是靜態庫。
如何制作.framework如下:
1.用xcode創建一個framework工程,如下圖
2.編寫自己的工具類。如下圖
3.設置Build Active Architecture Only 值 為NO。如下圖(適配所有版本的模擬器和真機)
4.設置Mach-O Type值為Static Library(靜態庫)。如下圖
5.將你需要別人引用的頭文件設置public。默認在project(不可見,私有)。
6.引入頭文件,有幾個public 就引入幾個public文件
?
7.創建Target。File->New->Target->Other->Aggregate。如下圖
?
8.添加腳本。如下圖
9.下面的腳本代碼復制到新建的 Run Script. 如下圖
#!/bin/sh #要build的target名 TARGET_NAME=${PROJECT_NAME} if [[ $1 ]] then TARGET_NAME=$1 fi UNIVERSAL_OUTPUT_FOLDER="${SRCROOT}/Products"#創建輸出目錄,并刪除之前的framework文件 mkdir -p "${UNIVERSAL_OUTPUT_FOLDER}" rm -rf "${UNIVERSAL_OUTPUT_FOLDER}/${TARGET_NAME}.framework"#分別編譯模擬器和真機的Framework xcodebuild -target "${TARGET_NAME}" ONLY_ACTIVE_ARCH=NO -configuration ${CONFIGURATION} -sdk iphoneos BUILD_DIR="${BUILD_DIR}" BUILD_ROOT="${BUILD_ROOT}" clean build xcodebuild -target "${TARGET_NAME}" ONLY_ACTIVE_ARCH=NO -configuration ${CONFIGURATION} -sdk iphonesimulator BUILD_DIR="${BUILD_DIR}" BUILD_ROOT="${BUILD_ROOT}" clean build#拷貝framework到univer目錄 cp -R "${BUILD_DIR}/${CONFIGURATION}-iphonesimulator/${TARGET_NAME}.framework" "${UNIVERSAL_OUTPUT_FOLDER}"#合并framework,輸出最終的framework到build目錄 lipo -create -output "${UNIVERSAL_OUTPUT_FOLDER}/${TARGET_NAME}.framework/${TARGET_NAME}" "${BUILD_DIR}/${CONFIGURATION}-iphonesimulator/${TARGET_NAME}.framework/${TARGET_NAME}" "${BUILD_DIR}/${CONFIGURATION}-iphoneos/${TARGET_NAME}.framework/${TARGET_NAME}"#刪除編譯之后生成的無關的配置文件 dir_path="${UNIVERSAL_OUTPUT_FOLDER}/${TARGET_NAME}.framework/" for file in ls $dir_path do if [[ ${file} =~ ".xcconfig" ]] then rm -f "${dir_path}/${file}" fi done #判斷build文件夾是否存在,存在則刪除 if [ -d "${SRCROOT}/build" ] then rm -rf "${SRCROOT}/build" fi rm -rf "${BUILD_DIR}/${CONFIGURATION}-iphonesimulator" "${BUILD_DIR}/${CONFIGURATION}-iphoneos" #打開合并后的文件夾 open "${UNIVERSAL_OUTPUT_FOLDER}"?
?10.切換Scheme,CusFrameWork 設置Excluded Architectures下的?Any ios Simulator SDK 值為 arm64。(模擬器生成的.framework, 不需要arm64架構)。如下圖 切記taget不要看錯了。
?11.Scheme:CusFrameWork,?設置編譯模式 release。如下圖
12.設置.framework的最低版本,如下圖
?
13.Schem: CusFrameWork. 選擇真機,command+b 生成真機.framework。如下圖
14.?Schem: CusFrameWork. 選擇模擬器,command+b 生成真機.framework。如下圖
?
13.切換Schem:Aggregate, 選擇 any ios device,?command+B 編譯運行腳本,腳本會自動打開文件夾?如下圖
?
14.測試引入.framework. 新建一個項目TestCusFrameWork. 將13步驟中的CusFrameWork.framework文件夾?放到此項目中的根目錄中。然后引入。如下圖
?15.在TestCusFrameWork使用自己制作的SDK 并運行,成功打印。如下圖
完結 OK?
總結
以上是生活随笔為你收集整理的iOS制作framework的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 逻辑运算符与或非(基础学习)
- 下一篇: 虚拟服务器 vmotion,VMotio