簡體   English   中英

xcodebuild -create-xcframework - BCSymbolMaps 丟失 - 在 M1 Xcode 14.0

[英]xcodebuild -create-xcframework - BCSymbolMaps missing - on M1 Xcode 14.0

我使用相同的 bash 腳本構建 XCFramework 至少 2 年,並且一切正常,直到我將 Mac 切換到 M1 並且我的 Xcode 是 14.0。

該腳本非常標准(見下文)。

在 MacPro M1 上,Xcode 14.0 我收到以下錯誤(相同的腳本在 Xcode 13.1 上工作正常)。

error: the path does not point to a valid debug symbols file: /Users/*******/build/Release-iphoneos.xcarchive/BCSymbolMaps/*

事實上,當我查看 build/Release-iphoneos.xcarchive 文件夾時 - BCSymbolMaps 不存在。 我驗證了 Xcode 設置“調試信息格式”與 dsym 文件相形見絀。

有人可以幫我理解這個錯誤是什么嗎? 以及為什么它開始發生在 M1,Xcode 14.0 上?

謝謝

請參閱下面我的 bash 構建腳本。

# Build the framework for device and for simulator (using
# all needed architectures).
xcodebuild archive -scheme "${TARGET_NAME}" -destination="iOS" -sdk iphonesimulator SKIP_INSTALL=NO BUILD_LIBRARIES_FOR_DISTRIBUTION=YES -archivePath "${SRCROOT}/build/Release-iphonesimulator"
xcodebuild archive -scheme "${TARGET_NAME}" -destination="iOS" -sdk iphoneos        SKIP_INSTALL=NO BUILD_LIBRARIES_FOR_DISTRIBUTION=YES -archivePath "${SRCROOT}/build/Release-iphoneos"



ls -l "${SRCROOT}/build/"

# https://developer.apple.com/forums/thread/655768

# First, get all the UUID filepaths for BCSymbolMaps, because these are randomly generated and need to be individually added as the `-debug-symbols` parameter. The dSYM path is always the same so that one is manually added
echo "XCFramework: Generating IPHONE BCSymbolMap paths..."
IPHONE_BCSYMBOLMAP_PATHS=(${SRCROOT}/build/Release-iphoneos.xcarchive/BCSymbolMaps/*)
IPHONE_BCSYMBOLMAP_COMMANDS=""
for path in "${IPHONE_BCSYMBOLMAP_PATHS[@]}"; do
  IPHONE_BCSYMBOLMAP_COMMANDS="$IPHONE_BCSYMBOLMAP_COMMANDS -debug-symbols $path "
  echo $IPHONE_BCSYMBOLMAP_COMMANDS
done

echo "XCFramework: Generating IPHONE BCSymbolMap paths... --> Done"

# XCFramework with debug symbols - see https://pspdfkit.com/blog/2021/advances-in-xcframeworks/#built-in-support-for-bcsymbolmaps-and-dsyms
xcodebuild -create-xcframework -allow-internal-distribution \
    -framework "${SRCROOT}/build/Release-iphoneos.xcarchive/Products/Library/Frameworks/${FRAMEWORK_NAME}.framework" \
    -debug-symbols "${SRCROOT}/build/Release-iphoneos.xcarchive/dSYMs/${FRAMEWORK_NAME}.framework.dSYM" \
    $IPHONE_BCSYMBOLMAP_COMMANDS \
    -framework "${SRCROOT}/build/Release-iphonesimulator.xcarchive/Products/Library/Frameworks/${FRAMEWORK_NAME}.framework" \
    -debug-symbols "${SRCROOT}/build/Release-iphonesimulator.xcarchive/dSYMs/${FRAMEWORK_NAME}.framework.dSYM" \
    -output "${SF_RELEASE_DIR}/${FRAMEWORK_NAME}.xcframework"

xcode14 不支持位代碼,因此 bcsymbolmaps 與 xcode14 不再相關

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM