iOS 应用内更换App图标

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

东西/原料

  • Xcode

方式/步调

  1. 1

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

  2. 2

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

  3. 3

    选择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>

  4. 4

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

  5. 5

    图标的更改是放在按钮事务中响应的,点击界面上的按钮完当作图标的更改,具体实现代码如下:

    if #available(iOS 10.3, *) {

                

                if UIApplication.shared.supportsAlternateIcons {

                    

                    UIApplication.shared.setAlternateIconName("2", completionHandler: {(error) in

                        

                        if error != nil {

                            

                            print(error)

                        }

                    })

                }

            }

  6. 6

    编译运行下项目,然后回到模拟器的首页,可以看到模拟器当前项目中显示的图标为图片1,如下:

  7. 7

    回到App中,点击放置的按钮进行图标改换,改换当作功会弹出提醒框,点击ok,然后回到模拟器首页可以看到App图标已经改换失落,如下:

  • 发表于 2018-03-10 00:00
  • 阅读 ( 1099 )
  • 分类:其他类型

你可能感兴趣的文章

相关问题

0 条评论

请先 登录 后评论
admin
admin

0 篇文章

作家榜 »

  1. xiaonan123 189 文章
  2. 汤依妹儿 97 文章
  3. luogf229 46 文章
  4. jy02406749 45 文章
  5. 小凡 34 文章
  6. Daisy萌 32 文章
  7. 我的QQ3117863681 24 文章
  8. 华志健 23 文章

联系我们:uytrv@hotmail.com 问答工具