XCode 15 創(chuàng)建 xcframework

方法:

使用 .a 創(chuàng)建

A_FILE_1="./ext/intel/libXXX.a"
A_FILE_2="./ext/apple/libXXX.a"

# Set the path to the output XCFramework bundle
OUTPUT_DIR="./XXX.xcframework"
rm -rf $OUTPUT_DIR

# Create the output directory if it doesn't exist
mkdir -p $OUTPUT_DIR

# Generate the XCFramework bundle
xcodebuild -create-xcframework \
  -library $A_FILE_1 \
  -library $A_FILE_2 \
  -output $OUTPUT_DIR

使用 .framework 創(chuàng)建

xcodebuild -create-xcframework \
    -framework path/to/FrameworkA.framework \
    -framework path/to/FrameworkB.framework \
    -output output_directory

坑:

為了讓使用 intel 和 m1 芯片的同學(xué)都能使用模擬器或真機(jī), 我們需要兩個(gè) .a: intel.a ( iphoneos arm64 + simulator x86_64 ), apple.a ( simulator arm64 ), 然后使用 xcodebuild 命令創(chuàng)建 xcframework
但是升級到 XCode 15 之后, 同樣的文件, 同樣的命令, 卻報(bào)錯(cuò)了:

error: binaries with multiple platforms are not supported

各種嘗試, 搜索, 最終找到了解決辦法:


image.png

刪除上面紅框中的設(shè)置, XCode 15 在 intel 電腦上可以創(chuàng)建所有我們需要的 .a 文件 ( iphoneos arm64 + simulator x86_64 + simulator arm64 ), 不再需要在 m1 電腦上創(chuàng)建 .a
最后, 使用 xcodebuild 創(chuàng)建 xcframework 成功

希望能幫到遇到同樣問題的人~

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容