【问题标题】:XCode 6.3.1 crashes while renaming projectXCode 6.3.1 在重命名项目时崩溃
【发布时间】:2015-04-23 13:20:27
【问题描述】:

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

我以前在 XCode 中单击项目后按回车键。它将打开一个对话框,确认您要在项目中更改名称的位置。

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

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

【问题讨论】:

  • 出于好奇,我刚刚尝试在最新的 Xcode 中重命名一个新项目,使用文件检查器,Xcode 说正在收集信息,然后崩溃了!我认为可能的错误。
  • 是的,一样。如果您知道哪个版本正常工作,您现在可以在单独的(或虚拟)机器上使用它,我能看到的唯一替代方法是手动完成所有工作:您还需要重命名一些文件和目录当修改项目文本文件的内容时,如果您有两个版本的项目需要最少的更改,那么任何图形源代码控制工具都将有助于检查差异。也可能想提交错误报告并在此处留下参考。
  • 如果有人能弄清楚需要手动更改以更改应用程序名称,请指导我。
  • "我需要更改我的 iOS 应用程序的名称。"那你为什么要更改项目名称?他们彼此没有任何关系!保留项目名称。
  • Xcode 6.3.2 根据the release notes 修复了这个问题。

标签: ios xcode cocos2d-x


【解决方案1】:

更新:修复了第 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 步中的命令,您应该会看到空输出。

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

【讨论】:

  • 谢谢,但我只需要更改名称,结果非常简单。还是谢谢
  • @eugene step 4 我收到以下错误:“sed: Completely: No such file or directory”。知道为什么吗?
  • @luca,感谢您的评论!显然,您正在尝试将包含空格的项目重命名为包含空格的另一个名称(嗯!),但无论如何我修复了第 4 步,所以它现在应该可以工作了。
  • @eugene 第 2 步,当使用 Cocoapods 时,一些文件/目录的名称前面会带有“Pods-”。这意味着您必须搜索模式 '*warnings_test*' 而不是 'warnings_test*'
【解决方案2】:

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

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

  • 用户在 App Store 中看到的应用名称又变了;当您提交应用程序时,您将在 iTunes Connect 的浏览器中手动设置。

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

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

【讨论】:

  • 谢谢伙计。这真的很有帮助。这正是我需要做的。
  • 我投了赞成票,但“不要更改项目名称”并不是一个深思熟虑的建议。这不仅仅是用户看到的内容,还有 Xcode、Macos 和它们的错误......
  • @EralpB 不要仅仅为了更改应用名称而更改项目名称。这是非常好的建议。在修复此崩溃错误之前,请勿更改项目名称。这也是很好的建议。现在,如果您愚蠢地在项目名称中加上逗号,那么该建议不适用于您...
  • Matt 的回答让我头疼不已。有关如何最好地更改显示名称,请参阅 Linh Nguyen 回答:stackoverflow.com/questions/19594231/…
猜你喜欢
  • 2015-06-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多