1

xcodebuildコマンドを使用してJenkinsを使用してiOSアプリをビルドしようとしています。

問題は、xcodebuildがドイツ語のUmlautüでターゲットを検出しないことです。

$ /usr/bin/xcodebuild -target AppNameWithUmlautü -configuration Debug clean build

次のエラーが発生します:

xcodebuild: error: The project 'AppNameWithUmlautü.xcodeproj' does not contain a target named 'AppNameWithUmlautü'.

次のコマンドを使用して、ターゲットの存在を確認しました。

xcodebuild -list

Information about project "AppNameWithUmlautü":
    Targets:
        AppNameWithUmlautü
        AppNameWithOutUmlaut

    Build Configurations:
        Debug
        Release
        Ad Hoc

    If no build configuration is specified and -scheme is not passed then "Release" is used. This project contains no schemes.

Umlautのないターゲットは機能します。

4

1 に答える 1

4

Xcodeは、ターゲット名のウムラウトに「分解」UTF-8表現を使用します。「ü」は。として表され75 CC 88ます。75は「u」でCC 88、「COMBININGDIAERESIS」のUTF-8シーケンスです。

一方、シェルはC3 BC「ü」に「複合」UTF-8表現を使用します。

したがって、コマンドラインで指定したターゲットはXcodeプロジェクトのターゲット名と一致しません(これはXcodeのバグであると主張することができます)。

Jenkinsについてはわかりませんが、xcodebuild -listコマンドの出力を使用して、分解されたUTF-8ターゲット名を取得し、それをMakefile、シェルスクリプト、またはその他のものにコピーできる場合は、これが役立つはずです。

于 2013-02-28T18:15:13.100 に答える