美文网首页
App动态更换图标Logo

App动态更换图标Logo

作者: 中秋梧桐语 | 来源:发表于2020-11-09 16:50 被阅读0次

    一、应用场景

    1. 碰到各种节假日,促销活动等,需要更换App图标 logo。如天猫双十一,春节等。
    2. 根据App主题切换应用logo。

    从iOS10.3开始,苹果开始支持动态更换应用logo了,新增的Api如下所示

    // If false, alternate icons are not supported for the current process.( 如果为NO,表示当前进程不支持替换图标)
    @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.(传入nil代表使用主图标. 完成后的操作将会在任意的后台队列中异步执行; 如果需要更改UI,请确保在主队列中执行.)
    - (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.(如果alternateIconName为nil,则代表当前使用的是主图标.)
    @property (nullable, readonly, nonatomic) NSString *alternateIconName NS_EXTENSION_UNAVAILABLE("Extensions may not have alternate icons") API_AVAILABLE(ios(10.3), tvos(10.2));
    

    二、首先配置info.plist信息

    截屏2020-11-09 下午4.39.32.png

    三、添加icon图片,以及写加载代码

    注意这里需要更换的图片不要放到Assets.xcassets,只要把主图标放里面就可以。

    截屏2020-11-09 下午4.44.10.png

    更换icon的代码,记住不要放到Appdelegate里,可以放在主控制器的某个监听里即可。
    调接口来切换图标logo,或者在通知里进行图标切换。

        if (![[UIApplication sharedApplication] supportsAlternateIcons]) {
            return;
        }
        
        if ([iconName isEqualToString:@""]) {
            iconName = nil;
        }
        [[UIApplication sharedApplication] setAlternateIconName:iconName completionHandler:^(NSError * _Nullable error) {
            if (error) {
                NSLog(@"更换app图标发生错误了 : %@",error);
            }
        }];
    

    这样就可以动态的改变App图标了,目前更换应用logo,只支持率先把图标配置到应用里,再进行切换,暂时无法支持,动态获取图片替换。

    相关文章

      网友评论

          本文标题:App动态更换图标Logo

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