日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

iOS制作framework

發布時間:2023/12/8 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。