2017-01-31 149 views

回答

0

多的App Store項

你可以在App Store中幾種不同的應用程序,主要由他們的應用程序圖標和應用程序商店的描述有所不同。

其他人指出,從iOS 10.3開始可以更改應用程序圖標。我不知道這很酷!我會在這裏保留這個答案作爲替代。

31

是的,這是可能的,因爲iOS 10.3

首先,您需要在Info.plist文件中定義所有替代圖標,但不能動態獲取它們。

例如,在這裏我們定義2個備用圖標:「德」和「FR」:

<key>CFBundleIcons</key> 
<dict> 
    <key>CFBundleAlternateIcons</key> 
    <dict> 
    <key>de</key> 
    <dict> 
    <key>CFBundleIconFiles</key> 
    <array> 
    <string>ic_de</string> 
    </array> 
    <key>UIPrerenderedIcon</key> 
    <false/> 
    </dict> 
    <key>fr</key> 
    <dict> 
    <key>CFBundleIconFiles</key> 
    <array> 
    <string>ic_fr</string> 
    </array> 
    <key>UIPrerenderedIcon</key> 
    <false/> 
    </dict> 
    </dict> 
    <key>CFBundlePrimaryIcon</key> 
    <dict> 
    <key>CFBundleIconFiles</key> 
    <array> 
    <string>ic_none</string> 
    </array> 
    </dict> 
</dict> 

然後你可以設置你喜歡的基礎上的任何圖標名稱(遊戲進度,天氣情況,溢價用戶等)。要更改的圖標:

UIApplication.shared.setAlternateIconName("de") { (error) in 
    if let error = error { 
     print("err: \(error)") 
     // icon probably wasn't defined in plist file, handle the error 
    } 
} 

結果:

Gif showing the icon changing in response to a segmented control

的GIF是a Medium article by Julien Quéré

+2

主要重點:添加您的替代應用圖標圖像OUTSIDE .xcassets夾。 –

+1

您可以更改的圖像數量有限制嗎? @KlimczakM – Pavan

3

可用此功能10.3(測試版)

討論 使用此方法來改變你的應用程序的圖標到其主圖標或到其備用圖標之一。只有當supportsAlternateIcons屬性的值爲true時,才能更改圖標。

您必須使用應用的Info.plist文件的CFBundleIcons鍵聲明您的應用的主要和備用圖標。有關如何爲您的應用配置備用圖標的信息,請參閱「信息屬性列表密鑰參考」中關於CFBundleIcons密鑰的說明。

在看看:

apple documentation

相關問題