美文网首页
如何动态地修改AppIcon

如何动态地修改AppIcon

作者: FongG | 来源:发表于2018-04-03 15:01 被阅读0次

时常看到一些app在未更新的情况下,就实现了AppIcon的切换,常见的比如说淘宝、ZFB。我不大确定是否他们是在版本未更新且未启动app的情况就实现了AppIcon的切换,如果有人知道可以给我留言,大家再探讨一下。

下面我们主要探讨的是如何在app启动的情况下切换AppIcon

@interface UIApplication (UIAlternateApplicationIcons)
// If false, alternate icons are not supported for the current process.
@property (readonly, nonatomic) BOOL supportsAlternateIcons NS_EXTENSION_UNAVAILABLE("Extensions may not have alternate icons") API_AVAILABLE(ios(10.3), tvos(10.2));

// Pass `nil` to use the primary application icon. The completion handler will be invoked asynchronously on an arbitrary background queue; be sure to dispatch back to the main queue before doing any further UI work.
- (void)setAlternateIconName:(nullable NSString *)alternateIconName completionHandler:(nullable void (^)(NSError *_Nullable error))completionHandler NS_EXTENSION_UNAVAILABLE("Extensions may not have alternate icons") API_AVAILABLE(ios(10.3), tvos(10.2));

// If `nil`, the primary application icon is being used.
@property (nullable, readonly, nonatomic) NSString *alternateIconName NS_EXTENSION_UNAVAILABLE("Extensions may not have alternate icons") API_AVAILABLE(ios(10.3), tvos(10.2));
@end
  • supportsAlternateIcons 主要是判断当前是否能够进行切换APPicon,

  • alternateIconName 可以获取当前显示的APPicon,如果获取到位nil,则当前的APPicon为初始的icon

  • -(void)setAlternateIconName:(nullable NSString *)alternateIconName completionHandler:(nullable void (^)(NSError *_Nullable error))completionHandler
    则是通过指定的alternateIconName来设置切换APPicon

那么什么是alternateIconName?

通过shift+com+0,我们可以对api进一步的深入了解。实际上需要我们在plist中进行设置CFBundleAlternateIcons的key

屏幕快照 2017-09-13 上午11.29.26.png

具体的实现各位看官老爷可以点击前往这里


到这里为止基本就结束了,可以看到实际上达到修改APPicon的功能,我们必须保证这样2个前提:

  1. plist中预先存在了对应的alternateIconName
  2. app启动状态下执行修改APPicon的代码

那么接下来我们来动态修改plist文件

好吧最后发现貌似不能修改plist...

那么试试在app未启动状态下如何修改APPicon的代码

相关文章

  • 如何动态地修改AppIcon

    时常看到一些app在未更新的情况下,就实现了AppIcon的切换,常见的比如说淘宝、ZFB。我不大确定是否他们是在...

  • 修改 AppIcon

    有一次看到亚马逊的客户端打开后,就提示 icon 改变了,回桌面一看,竟然真的变了。然后就上网搜索是怎么实现的,参...

  • iOS AppIcon 设计一键导出

    iPhone 屏幕显示的图标, 搜索图标等 序 如何设计 AppIcon 如何画 AppIcon 如何使用插件一键...

  • iOS 修改APPIcon

    该api10.3之后可使用 参考链接http://www.cocoachina.com/ios/20170619/...

  • 动态修改AppIcon

    动态修改App的Icon 第一步:把资源文件导入到项目中 新增的icon不能放在Assets.xcassets 项...

  • iOS - Run Script之修改App icon

    Run Script 之 修改AppIcon Created by Ningyuan 2020/04/26 需求背...

  • 马甲包/组件化配置

    个人理解马甲包: 基础马甲包外壳参数修改 :bundleId,appName,appIcon, launchIma...

  • iOS开发之设置AppIcon的两种方式

    在项目中我们经常会需要设置AppIcon,并且设定之后可能还有改动的需求,那么该如何设置AppIcon呢? 文章预...

  • Swift-动态修改AppIcon图标、更改应用图标

    title: Swift-动态修改AppIcon图标、更改应用图标date: 2017-05-09 15:33:3...

  • 在编译时修改AppIcon

    怎样方便的知道出app当前的版本信息,版本号,是beta/debug/release呢?之前最直接的方式是在app...

网友评论

      本文标题:如何动态地修改AppIcon

      本文链接:https://www.haomeiwen.com/subject/lmvujxtx.html