2012-09-10 55 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文件夾中),並將它們重新添加到我的項目中。

之後,我可以在項目設置中添加一種新語言。塔姆,案件關閉。