在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 篇文章
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!