2012-04-04 155 views
1

我的應用程序瞄準iphone,但顯然它也可以安裝在iPad上。ipad3上iphone應用程序的圖標

在iPhone上,它使用正確的圖標圖像;在iPad 2上,它也使用正確的圖標。

但是,在iPad 3上,不是使用圖標作爲圖標,而是使用我的啓動圖像作爲圖標。這是iPad 3上的常見行爲嗎?或者是我的設置錯誤? (我使用了最新的SDK,主攻的iOS 5.0,如果該事項)

更新

我重視plist文件下方。我想我可以理解有什麼不對...... [email protected]是啓動圖像的名稱。令我感到困惑的是,這與我在「摘要」屏幕上的Xcode中看到的不一致。在Xcode中總結屏幕上:

  1. 我有視網膜圖標設置爲SOF_app_icon.png,我沒有一個非Retina的圖標集 - 它說:「沒有圖像指定」;
  2. 我有兩個啓動圖像集:Default.png用於非視網膜,[email protected]用於視網膜。

這裏是plist文件:

<?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>CFBundleDevelopmentRegion</key> 
<string>English</string> 
<key>CFBundleDisplayName</key> 
<string>${PRODUCT_NAME}</string> 
<key>CFBundleExecutable</key> 
<string>${EXECUTABLE_NAME}</string> 
<key>CFBundleIcons</key> 
<dict> 
    <key>CFBundlePrimaryIcon</key> 
    <dict> 
     <key>CFBundleIconFiles</key> 
     <array> 
      <string>SOF_app_icon.png</string> 
      <string>[email protected]</string> 
     </array> 
    </dict> 
</dict> 
<key>CFBundleIdentifier</key> 
<string>com.overwaitea.${PRODUCT_NAME:rfc1034identifier}</string> 
<key>CFBundleInfoDictionaryVersion</key> 
<string>6.0</string> 
<key>CFBundleName</key> 
<string>${PRODUCT_NAME}</string> 
<key>CFBundlePackageType</key> 
<string>APPL</string> 
<key>CFBundleShortVersionString</key> 
<string>1.0</string> 
<key>CFBundleSignature</key> 
<string>????</string> 
<key>CFBundleVersion</key> 
<string>1.0</string> 
<key>LSApplicationCategoryType</key> 
<string></string> 
<key>LSRequiresIPhoneOS</key> 
<true/> 
<key>NSMainNibFile</key> 
<string>MainWindow</string> 
<key>NSZombieEnabled</key> 
<false/> 
<key>UIBackgroundModes</key> 
<array> 
    <string>location</string> 
</array> 
<key>UIFileSharingEnabled</key> 
<true/> 
<key>UIRequiredDeviceCapabilities</key> 
<array> 
    <string>location-services</string> 
</array> 
<key>UISupportedInterfaceOrientations</key> 
<array> 
    <string>UIInterfaceOrientationPortrait</string> 
    <string>UIInterfaceOrientationLandscapeLeft</string> 
    <string>UIInterfaceOrientationLandscapeRight</string> 
</array> 
<key>corelocation</key> 
<string>YES</string> 
</dict> 
</plist> 
+0

iPad 3圖標的文件名是什麼? – 2012-04-04 21:12:31

回答

4

它使用啓動圖像(當您的應用程序推出後仍在加載即圖像顯示)?這沒有任何意義。這當然不是正常的行爲,我猜想你在你的Info.plist圖標項中犯了一個錯誤。

請注意,您需要爲iPad 3提供2x圖標......請參閱Apple提供的cornucopia of information

如果您發佈Info.plist的副本(包含任何敏感信息編輯)以及您的圖標文件名,我們可能可以明確指出發生了什麼問題。作爲最後一點,我注意到應用程序的開發副本可能會輕微地因爲圖標等資產而發生衝突,這似乎是因爲Xcode試圖通過只複製它認爲已經改變的資產來縮短啓動時間。出於這個原因,實際上從設備/模擬器中刪除應用程序並從頭開始重新安裝以確保您沒有看到陳舊的信息可能是一個好主意。

編輯:感謝您發佈Info.plist。這清除了一些事情。

讓我們先從行:

<string>[email protected]</string> 

你看到的是,裏面的圖標文件設置,這說的iOS使用你的啓動圖像爲圖標?我猜這是一個錯字,但我想確保你不會混淆不同的plist鍵。

+0

查看更新的答案。 – 2012-04-04 22:07:46

+0

嗯,我還沒有看到,但Xcode已知有錯誤。如果你能重現它,我建議你在bugreport.apple.com上提交一個bug。無論哪種方式,手動更新(或者甚至只是通過GUI清除和重新加載)plist將解決您的問題。 – 2012-04-04 22:14:12

+0

Xcode自動將「Default.png」和「[email protected]」添加到我的圖標文件列表中,並導致默認圖像成爲應用程序圖標。我從列表中刪除了這兩個,現在應用程序圖標顯示出來。 (有iPad 3圖標的問題) – jmosesman 2012-08-29 19:34:33

0

變化

<string>SOF_app_icon.png</string> 
    <string>[email protected]</string> 

<string>SOF_app_icon.png</string> 
    <string>[email protected]</string> 

你如何進行相應的配置告訴該設備設置視網膜圖標爲「缺省」的形象視網膜版本。

澄清「Default.png和[email protected]」是啓動(啓動)圖像的標準名稱。

+0

沒錯。 Default.png和[email protected]是啓動圖像的標準名稱。這是我的plist中圖標文件的順序。 Icon.png,[email protected],Icon-72.png,[email protected],Default.png,[email protected],Icon-Small-50.png,Icon-Small-50 @ 2x。 png – 2012-08-28 06:41:48

1

有同樣的問題 所有圖標文件添加到iphone項目(包括icon-72.png,[email protected],Icon-Small-50.png,[email protected] )。

比iPad手動添加到info.plist文件。它表明訂單很重要。 把它們放在最後並沒有奏效。 我的訂單現在是 Icon.png [email protected] Icon-72.png [email protected] 這對我很有幫助。

+0

由於某種原因,當我將[email protected]添加到項目中時,它沒有將它添加到plist中,並將它放在plist中的Icon-72.png後爲我工作。 – jmosesman 2012-08-27 22:01:56

1

爲了記錄,Xcode 4.3.1將CFBundleIconFiles 3和4用於針對iPhone的應用的啓動圖像。我在摘要窗口中清除了啓動圖像,並刪除了info.plist中的項目,以確保我不是造成問題的人,並且Xcode在重新添加時始終將啓動圖像設置爲相同的插槽。

0

解決方法很簡單, 在您的plist->icon files->Default.png[email protected]可能被添加!請從pList中刪除它,

It Works