iOS 应用内更换App图标

在iOS10.3之后 , 苹果开启了新的应用内动态设置App图标的功能 , 现以Swift实现为例进行示范 。

需要这些哦
Xcode
方式/
1新建Xcode测试工程 , 将需要的图标文件导入 , 在这里导入三套图片 , 简单起见定名为1 , 2 , 3 , 别离为60的2x和3x图片 , 如下:

iOS 应用内更换App图标

文章插图

2在官方文档的诠释是CFBundleAlternateIcons字典下需要增添CFBundleIconFiles与UIPrereredIcon两个键对应新图标 , 具体的文档截图与年夜致翻译如下:

iOS 应用内更换App图标

文章插图

iOS 应用内更换App图标

文章插图

iOS 应用内更换App图标

文章插图

3选择Info.plist , 在其下新增Icon files (iOS 5)字典 , 按照文档插手CFBundleAlternateIcons字典 , 具体如下:
<dict>
<key>CFBundleAlternateIcons</key>
<dict>
<key>2</key>
<dict>
<key>UIPrereredIcon</key>
<false/>
<key>CFBundleIconFiles</key>
<array>
<string>2</string>
</array>
</dict>
<key>3</key>
<dict>
<key>UIPrereredIcon</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>UIPrereredIcon</key>
<false/>
</dict>
</dict>

iOS 应用内更换App图标

文章插图

4Icon files (iOS 5)下的Primary Icon暗示初始图片设置 , 在这里设置为图片1 , 如下:

iOS 应用内更换App图标

文章插图

5图标的更改是放在按钮事务中响应的 , 点击界面上的按钮完当作图标的更改 , 具体实现代码如下:
if #available(iOS 10.3, *) {
            
            if UIApplication.shared.supportsAlternateIcons {
                
                UIApplication.shared.setAlternateIconName("2", completionHandler: {(error) in
                    
                    if error != nil {
                        
【iOS 应用内更换App图标】                        print(error)

推荐阅读