XCode 6.3.1在重命名项目时崩溃

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

我曾经这样做,点击XCode中的项目后按回车键。 这将打开一个对话框,确认您想要在项目中更改名称的位置。

前两天我更新Xcode,现在当我按下input更改项目的名称,它打开对话框,突然崩溃。

如果任何人可以find一个替代方法来更改我的iOS项目的应用程序名称,我将不胜感激。 谢谢

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

  • 如下图所示,应用程序的名称是Info.plist中CFBundleDisplayName设置(Bundle Display Name)。 这就是你需要改变的一切(你可能需要创build它)。

  • 用户在App Store中看到的应用程序的名称也不同, 这是您在提交应用程序时在iTunes Connect中手动设置的内容。

编辑:苹果公司刚刚(秘密)发布了Xcode 6.3.2 GM种子,据说修复了崩溃的bug。

进一步的编辑:Xcode6.3.2最终(不是GM种子)确实似乎修复这个崩溃的bug。

更新 :修复步骤4以正确使用包含空格的文件名。

我使用shell命令来重命名项目几次,它比从Xcode本身重命名更好。 这里是步骤(因为我们想要重命名warnings_test => BestAppEver )(您可能需要安装一些额外的工具,使用brew install rename ack ):

  1. 查找名称中包含源string的所有文件:

     $ 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. 在所有文件中查找所有出现的string:

     $ ack --literal 'warnings_test' 

    仔细观察输出以确保所有这些string都应该被replace。 在大多数情况下,他们应该。

  4. 全部replace:

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

    一次跑就够了。 要validation,再次运行第3步中的命令,您应该看到空输出。

完成! 你所有的目标,scheme,文件,注释中的提及,标识符,名称等已被重新命名。 如果你git add .git status ,你应该看到很多renamed:条目(只是另一个理智检查)。