XCode 6.3.1 在重命名项目时崩溃

XCode 6.3.1 crashes while renaming project

我正在使用 Xcode 6.3.1 开发一个使用 cocos2dx 2.2.6 的 iOS 游戏。 我需要更改 iOS 应用程序的名称。

我以前是在点击 XCode 中的项目后按 return 键来完成的。它将打开一个对话框,确认您要在项目中的哪个位置更改名称。

两天前我更新了Xcode,现在当我按回车键更改项目名称时,它打开对话框并突然崩溃。

如果有人能给我找到一种替代方法来更改我的 iOS 项目的应用程序名称,我将不胜感激。谢谢

已更新:修复了第 4 步以正确处理包含空格的文件名。

我已经使用 shell 命令重命名项目几次,它比从 Xcode 本身重命名效果更好。以下是步骤(假设我们要重命名 warnings_test => BestAppEver)(您可能需要使用 brew install rename ack 安装一些额外的工具):

  1. 查找名称包含源字符串的所有文件:

    $ find . -name 'warnings_test*'
    ./warnings_test
    ./warnings_test.xcodeproj
    ./warnings_test.xcodeproj/xcshareddata/xcschemes/warnings_test.xcscheme
    ./warnings_testTests
    ./warnings_testTests/warnings_testTests.m
    
  2. 重命名这些文件和目录:

    $ find . -name 'warnings_test*' -print0 | xargs -0 rename -S 'warnings_test' 'BestAppEver'
    

    您需要 运行 此命令几次,因为目录将首先重命名,然后其中的文件和目录将在下一次迭代时重命名。检查步骤 1 是否所有文件都已重命名(应该看到空输出)。

  3. 在所有文件中查找所有出现的字符串:

    $ ack --literal 'warnings_test'
    

    查看输出以确保应替换所有这些字符串。在大多数情况下,他们应该。

  4. 替换所有出现的地方:

    $ ack --literal --files-with-matches 'warnings_test' --print0 | xargs -0 sed -i '' 's/warnings_test/BestAppEver/g'
    

    一个运行就够了。再次验证 运行 步骤 3 中的命令,您应该会看到空输出。

完成!您的所有目标、方案、文件、评论中提及的内容、标识符、名称等都已重命名。如果你 git add .git status,你应该看到很多 renamed: 条目(只是另一个完整性检查)。

不要更改项目名称。你应该能够在不崩溃的情况下,但你不能这样做并不重要。你不需要改变它,所以不要。保留项目名称;它与用户看到的任何东西都无关。您想更改 app 的名称,这是完全不同的事情。

  • 应用程序的名称,如设备上图标下方所示,是 Info.plist 中的 CFBundleDisplayName 设置(Bundle Display Name) 。这就是您需要更改的全部(您可能需要创建它)。

  • 用户将在 App Store 中看到的应用名称又一次不同了;这是您提交应用程序时将在 iTunes Connect 的浏览器中手动设置的内容。

编辑:Apple 刚刚(秘密)发布了 Xcode 6.3.2 GM 种子,据说修复了崩溃错误。

进一步编辑:Xcode6.3.2 final(不是 GM 种子)似乎确实修复了这个崩溃错误。