带有变音符号的 xcodebuild 目标名称

Posted

技术标签:

【中文标题】带有变音符号的 xcodebuild 目标名称【英文标题】:xcodebuild target name with Umlaut 【发布时间】:2013-02-28 17:59:47 【问题描述】:

我正在尝试通过 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.

没有元音变音的目标有效。

【问题讨论】:

嗨马丁,谢谢你的回答。它有助于理解问题,但我最终重命名了目标(使用“ue”而不是“ü”)。 是的,这可能是更好的解决方案。 【参考方案1】:

Xcode 使用“分解”UTF-8 表示目标名称中的元音变音:“ü”表示为 75 CC 8875 是 "u",CC 88 是 "COMBINING DIAERESIS" 的 UTF-8 序列。

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

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

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

【讨论】:

以上是关于带有变音符号的 xcodebuild 目标名称的主要内容,如果未能解决你的问题,请参考以下文章

带有德语变音符号的 NSJSONSerialization 异常

带有德语变音符号的 JSON Jackson + HTTPClient

有没有办法在 robocopy 脚本中包含带有变音符号的文件路径?

mysql查询选择喜欢带有变音符号的土耳其字母

带有变音符号的 Unicode 字符串,按字符分割

MongoDB diacriticInSensitive 搜索未按预期显示所有重音(带有变音符号的单词)行,反之亦然