1

我正在尝试通过 xcodebuild 命令使用 Jenkins 构建 iOS 应用程序。

问题是 xcodebuild 没有检测到带有德语变音符号 ü 的目标。

$ /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.

没有变音符号的目标有效。

4

1 回答 1

4

Xcode 在目标名称中使用 Umlauts 的“分解”UTF-8 表示:“ü”表示为75 CC 88. 75是 "u",并且CC 88是 "COMBINING DIAERESIS" 的 UTF-8 序列。

另一方面,shell 使用C3 BC“ü”的“复合”UTF-8 表示。

因此,您在命令行中提供的目标与 Xcode 项目中的目标名称不匹配(有人可能会认为这是 Xcode 中的一个错误)。

我对 Jenkins 一无所知,但如果你能以某种方式使用xcodebuild -list命令的输出来获取分解的 UTF-8 目标名称并将其复制到你的 Makefile、shell 脚本或你拥有的任何东西中,那么这应该会有所帮助。

于 2013-02-28T18:15:13.100 回答