【iOS】动态修改APP图标
2017-04-01 本文已影响3413人
Ennnnnn7
在微博上看到了 @安财小小生分享的iOS 10.3新增功能:通过API动态修改APP的图标,自己深入了解了一下。
前言
现在每逢公司运营活动需要或者迭代改版,设计就可能对APP图标进行修改。举个例子:去年猴年就有很多APP在图标上添加了紧箍的元素。
猴年元素
当活动结束后,图标又会进行更改,每次更改都需要提交版本🤷🏻♂️……会不会这个新增功能就是苹果倾听"民意"的结果呢?🤓
实现方法
Info.plist设置
实现代码
- 在Info.plist添加备用图标和默认图标,icon图片名不需要包含文件扩展名
CFBundleIcons
是一个字典,字典中包含所有APP所有icon信息。字典中的字段包括:
- CFBundlePrimaryIcon:APP默认icon
- CFBundleAlternateIcons:APP备用icons
- UINewsstandIcon:用于Newsstand的icons
- 实现代码
首先需要判断系统是否支持alternate icons,然后通过setAlternateIconName:completionHandler:
修改应用图标
效果图
审核意见
最近在浏览审核指南时看到如下的提示:
4.6 备选 App 图标
App 可以使用自定图标以传达特定信息 (例如表达对某个运动团队的喜爱),前提是每次更改都由用户发起,并且 app 中应包含恢复至原始图标的设置。所有图标变体必须与 app 的内容相关,并且更改内容在所有系统资源之间应保持一致,以便“设置”和“通知”等位置中显示的图标与新的 Springboard 图标相吻合。这项功能不可用于动态、自动或连续性更改,例如用于反映最新天气信息和日历通知等。
总结
如有不正,感谢指出。
感谢开源。