2012-09-10 56 views
2

每当我向Xcode添加新语言(项目 - >本地化 - > +),Xcode立即崩溃。以下是错误:当为本地化/翻译添加新语言时,Xcode崩溃

Process:   Xcode [1362] 
Path:   /Applications/Xcode.app/Contents/MacOS/Xcode 
Identifier:  com.apple.dt.Xcode 
Version:   4.4.1 (1488) 
Build Info:  IDEApplication-1488000000000000~2 
App Item ID:  497799835 
App External ID: 9950605 
Code Type:  X86-64 (Native) 
Parent Process: launchd [132] 
User ID:   501 

Date/Time:  2012-09-10 11:53:15.906 -0700 
OS Version:  Mac OS X 10.8.1 (12B19) 
Report Version: 10 

Interval Since Last Report:   3309 sec 
Crashes Since Last Report:   5 
Per-App Interval Since Last Report: 3139 sec 
Per-App Crashes Since Last Report: 5 
Anonymous UUID:      6F2A1E95-B759-4403-BA5B-A1D00B69A631 

Crashed Thread: 0 Dispatch queue: com.apple.main-thread 

Exception Type: EXC_CRASH (SIGABRT) 
Exception Codes: 0x0000000000000000, 0x0000000000000000 

Application Specific Information: 
ProductBuildVersion: 4F1003 
ASSERTION FAILURE in /SourceCache/IDEXcode3ProjectSupport/IDEXcode3ProjectSupport-1559/Xcode3Sources/XcodeIDE/Frameworks/DevToolsBase/pbxcore/Xcode3Model/Xcode3VariantGroup.m:709 
Details: Assertion failed: [newFilePathString hasPrefix:self.resolvedFilePath.pathString] 
Object: <Xcode3VariantGroup: 0x4017fbe00> 
Method: -addNewReferenceForLocale:filePath:fileType: 
Thread: <NSThread: 0x40030a220>{name = (null), num = 1} 
Hints: None 
+0

我以前有过这个问题,事实证明,这是因为我的“复制捆绑资源”部分的构建设置中的任何问题(其中一个列表中的文件实际上已被删除,因此在此页面上显示红色通知)。一旦我解决了这个问题,当我添加本地化时,XCode停止了崩溃。你可以随时进行快速检查,看看是否是同样的问题。 – Clafou

+0

不适合我 - 但可能适用于其他人:) – toblerpwn

回答

0

我发现相同的线程上的苹果开发者论坛:

https://devforums.apple.com/thread/166062?tstart=0

的解决方案有是创建一个新的项目,并滴在你的所有的源文件它?甜蜜的耶稣。

编辑:这是一个可怕的哈克修复工作对我来说:你可以单独'取消本地化'所有的文件(取消选中文件检查器窗格中的英文),然后进入项目 - >本地化 - > + ,现在添加langs似乎为我工作。似乎有一些与Xcode无法添加一个lang &一次本地化许多对象?

+0

将此标记为'关闭'此问题的答案;不知道它是否仍然是Xcode 4中的一个问题。5,但如果是的话,将开始一个单独的问题 – toblerpwn

0

我也遇到过这个问题(但在Xcode 7中)。我这样解决:

  1. 从项目中删除plist(但保留在磁盘上的文件)。
  2. 在查找器中,将plist文件从基本本地化(例如en.lproj)复制到其他lproj文件夹。
  3. 将每个lproj的plist文件逐个添加到您的项目中。
  4. plist文件将作为本地化文件树显示在Xcode中,就像您成功使用Localize复选框一样。

希望有所帮助!

1
  1. 转到项目,并添加新的语言。(您可能会收到一些错误路径)
  2. 围棋localize.string文件,取消你的英语在检查窗格。
  3. 将de.lproj(您的语言项目)复制到finder中的en.lproj文件夹中,并从外部删除。
  4. 现在在您的项目中手动添加您的de.lproj字符串文件。
  5. 现在启用英文。
0

作为一个懒惰的混蛋,我不想重新创建一个新的项目,重新配置整个演出的麻烦。

以下是我为解决问题所做的工作:我将故事板复制到其他地方,并将它们从项目中移除。然后我将它们移到我的源文件夹中(不在xxx.lproj文件夹中),并将它们重新添加到我的项目中。

之后,我可以在项目设置中添加一种新语言。塔姆,案件关闭。