在iOS10.3之后,蘋果開啟了新的應用內動態設置App圖標的功能,現以Swift實現為例進行示范。
新建Xcode測試工程,將需要的圖標文件導入,在這里導入三套圖片,簡單起見定名為1,2,3,別離為60的2x和3x圖片,如下:
在官方文檔的詮釋是CFBundleAlternateIcons字典下需要增添CFBundleIconFiles與UIPrerenderedIcon兩個鍵對應新圖標,具體的文檔截圖與年夜致翻譯如下:
選擇Info.plist,在其下新增Icon files (iOS 5)字典,按照文檔插手CFBundleAlternateIcons字典,具體如下:
<dict>
<key>CFBundleAlternateIcons</key>
<dict>
<key>2</key>
<dict>
<key>UIPrerenderedIcon</key>
<false/>
<key>CFBundleIconFiles</key>
<array>
<string>2</string>
</array>
</dict>
<key>3</key>
<dict>
<key>UIPrerenderedIcon</key>
<false/>
<key>CFBundleIconFiles</key>
<array>
<string>3</string>
</array>
</dict>
</dict>
<key>CFBundlePrimaryIcon</key>
<dict>
<key>CFBundleIconFiles</key>
<array>
<string>1</string>
</array>
<key>UIPrerenderedIcon</key>
<false/>
</dict>
</dict>
Icon files (iOS 5)下的Primary Icon暗示初始圖片設置,在這里設置為圖片1,如下:
圖標的更改是放在按鈕事務中響應的,點擊界面上的按鈕完當作圖標的更改,具體實現代碼如下:
if #available(iOS 10.3, *) {
if UIApplication.shared.supportsAlternateIcons {
UIApplication.shared.setAlternateIconName("2", completionHandler: {(error) in
if error != nil {
print(error)
}
})
}
}
編譯運行下項目,然后回到模擬器的首頁,可以看到模擬器當前項目中顯示的圖標為圖片1,如下:
回到App中,點擊放置的按鈕進行圖標改換,改換當作功會彈出提醒框,點擊ok,然后回到模擬器首頁可以看到App圖標已經改換失落,如下:
0 篇文章
如果覺得我的文章對您有用,請隨意打賞。你的支持將鼓勵我繼續創作!