2012-06-18 50 views
8

當我跑我的申請,我的iPhone/iPad的模擬器只給我6種語言選擇(英語,德語,日語,意大利語,西班牙語和匈牙利)。谷歌搜索後,似乎應該有至少18種語言可供選擇。缺少語言上的iOS模擬器

我已重新安裝的Xcode 4.3.1,並且安裝了iOS 5.1模擬器,它有同樣的問題,同樣的語言。

有誰知道這些語言的定義,爲什麼模擬器不會有所有可用的選項?谷歌和蘋果開發者論壇沒有任何幫助。

以下是截圖:

iOS Simulator

更新:我決定安裝年齡稍大的5.0模擬器(而不是5.1),每當我使用的是5.0模擬器看來我擁有所有的語言。如果我切換回5.1模擬器,我仍然只有6種語言顯示在上面的屏幕截圖中。

+1

+1用於研究。我想你應該向Apple提交一份錯誤報告。如果他們故意刪除5.1中的語言(爲了節省空間或其他),他們至少應該知道他們錯過了,如果他們被誤刪除了,他們應該得到通知。 –

+0

我查了一些使用5.1的其他開發人員,其中一些人擁有所有的語言,但是他們中的一些人似乎也缺少某些語言。我不確定這個問題是否與版本有關,但它可能只是一個不同版本的全新安裝修復了這個問題。老實說,我只是很好奇蘋果指定哪些語言應該顯示給模擬器。 –

+0

我仍然會提交該錯誤報告。如果這不是一個錯誤,他們會希望告訴你如何解決你的問題。當他們有你可以回到這裏併發布答案。 –

回答

0

基礎上的答案信息發佈用戶命名的工業開發區,坐落在這個同樣的問題,我能弄清楚如何解決這個問題。

我用的是5.1,我必須安裝我的模擬器(5.0)的早期版本,然後從5.0找到語言目錄,並將其複製到正確的位置爲5.1,然後重新啓動iPhone模擬器。以下是一些詳細的步驟:

  1. 找到5.0模擬器的語言.lproj directores。 /Applications/Xcode-4.3.3.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator5.0.sdk/System/Library/PrivateFrameworks/Preferences.framework/
  2. 在此文件夾中,您將看到許多帶有.lproj擴展名的文件夾,例如, English.lproj。複製您在此處找到的所有.lproj文件夾。
  3. 找到具有5.1模擬器的.lproj目錄的文件夾。 /Applications/Xcode-4.3.3.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator5.1.sdk/System/Library/PrivateFrameworks/Preferences.framework/
  4. 將您複製的文件夾粘貼到此目錄中。當我這樣做時,我選擇不覆蓋任何現有的文件夾。
  5. 重新啓動你的iPhone模擬器。
  6. 確保您的iPhone Simulator設置爲5.1。在選擇iPhone模擬器時,請轉至Hardware -> Version -> 5.1。現在,當您選擇模擬器的語言時,您應該擁有從5.0文件夾複製的所有可用語言。

或者有人說你可以通過簡單地卸載Xcode SDK並重新安裝它來解決這個問題,但我發現這種方法要快得多。

我向蘋果提交了一個錯誤報告,過了一個星期沒有迴應。我已經將他們引導到此頁面以解決問題,但我仍然不確定這是如何發生的。

5

我覺得你的模擬器安裝發生了不好的事情,而不是Apple刪除語言。如果他們將模擬器中的語言數量減少到6個,Magyar將是一個奇怪的選擇(只有12.5M左右的揚聲器)。

我也檢查了我的Xcode 4.3.3/iPhone 5.1的模擬器,我有什麼,我認爲語言的全套。值得嘗試重新安裝你的模擬器!

的方法通過在設置應用模擬器提出的語言列表可以在

/Applications/Xcode-4.3.3.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator5.1.sdk/System/Library/PrivateFrameworks/Preferences.framework/GlobalPreferences.plist被發現。

它的二進制格式,所以你需要離開其複製到一個臨時目錄,並使用plutil -convert xml1 <file_name>將其轉換爲東西,你可以閱讀。您可以檢查並查看該列表中是否缺少語言。

僅供參考這裏是我的樣子

<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> 
<plist version="1.0"> 
<dict> 
     <key>AppleLanguages</key> 
     <array> 
       <string>en</string> 
       <string>fr</string> 
       <string>de</string> 
       <string>ja</string> 
       <string>nl</string> 
       <string>it</string> 
       <string>es</string> 
       <string>pt</string> 
       <string>pt-PT</string> 
       <string>da</string> 
       <string>fi</string> 
       <string>nb</string> 
       <string>sv</string> 
       <string>ko</string> 
       <string>zh-Hans</string> 
       <string>zh-Hant</string> 
       <string>ru</string> 
       <string>pl</string> 
       <string>tr</string> 
       <string>uk</string> 
       <string>ar</string> 
       <string>hr</string> 
       <string>cs</string> 
       <string>el</string> 
       <string>he</string> 
       <string>ro</string> 
       <string>sk</string> 
       <string>th</string> 
       <string>id</string> 
       <string>ms</string> 
       <string>en-GB</string> 
       <string>ca</string> 
       <string>hu</string> 
       <string>vi</string> 
     </array> 
     <key>AppleLocale</key> 
     <string>en_US</string> 
</dict> 
</plist> 
+0

他們沒有刪除他們,我有同事使用5.1模擬器,並具有所有的語言,但其他人缺少某些語言。我可以嘗試重新安裝,但我現在好奇他們是如何失蹤多人的。 –

+1

@NicFoster我已經添加了一些關於語言列表位於我的答案的信息。因此,如果這個列表缺少那些缺少語言的開發人員的條目,這可能是一個線索。 – idz

+0

感謝這個信息,它看起來像GlobalPreferences.plist文件是好的,它看起來與你的一樣,但是在Preferences.framework目錄中,我只有6種語言的.lproj文件夾。當我看看5.0模擬器文件夾時,我擁有所有的.lproj目錄。我將5.0語言的.lproj目錄複製到5.1位置並解決了問題。 –