Xcode のパスに半角スペースが入っているとき Pods/FirebaseCrash/batch-upload がエラー

  • 0
    いいね
  • 0
    コメント

    batch-upload を実行すると、内部で xcrun --find swift-demangle が実行されて、
    swift-demangle のパスを取得します。

    このとき、利用中の Xcode.app へのパスに半角スペースが入っている環境では、
    No such file or directory エラーになって、処理が完了しません。

    swift-demangle へのパスは環境変数 SWIFT_DEMANGLE でも指定できるものの、
    Xcode へのパスには半角スペースを入れない方が安全そうです。

    export SWIFT_DEMANGLE="/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swift-demangle"
    

    なお swift-demangle が使えない環境では、/bin/cat で代替されるようです。

    batch-upload が Done. と表示すれば、アップロード完了です。

        if [[ -x "${SWIFT_DEMANGLE:=$(xcrun --find swift-demangle 2>/dev/null)}" ]];
        then
            SWIFT_DEMANGLE_COMMAND="${SWIFT_DEMANGLE} -simplified"
        else
            SWIFT_DEMANGLE_COMMAND=/bin/cat
        fi
        fcr_mktemp SYMBOL_FILE
        "${DUMP_SYMS:="$(script_dir)/dump_syms"}" -a "${ARCH}" ${DWARF_COMPANION:+-g "${DWARF_COMPANION}"} "${EXECUTABLE}" | ${SWIFT_DEMANGLE_COMMAND} >|"${SYMBOL_FILE}" || return $?