美文网首页
iOS 动态修改图标

iOS 动态修改图标

作者: Lightoflife | 来源:发表于2019-05-17 20:03 被阅读0次

需求:根据后台给定名字切换App图标

解决方案:

在本地放置需要切换的一些图片,在plist文件里面加一些参数,然后再调用方法,方法如下:

- (void)setAppIconWithName:(NSString*)iconName {

    if (![[UIApplication sharedApplication] supportsAlternateIcons]) {

        return;

    }

    if([iconNameisEqualToString:@""]) {

        iconName =nil;

    }

    [[UIApplication sharedApplication] setAlternateIconName:iconName completionHandler:^(NSError * _Nullable error) {

        if(error) {

            NSLog(@"更换app图标发生错误了 : %@",error);

        }

    }];

}

需要注意的是需求修改图标成功后不让弹出提示框,所以用runtime-swizzing交换方法,代码如下:

@implementationUIViewController (Present)

+ (void)load {

    staticdispatch_once_tonceToken;

    dispatch_once(&onceToken, ^{

        MethodpresentM =class_getInstanceMethod(self.class,@selector(presentViewController:animated:completion:));

        MethodpresentSwizzlingM =class_getInstanceMethod(self.class,@selector(ZB_presentViewController:animated:completion:));

        // 交换方法

        method_exchangeImplementations(presentM, presentSwizzlingM);

    });

}

- (void)ZB_presentViewController:(UIViewController*)viewControllerToPresent animated:(BOOL)animation completion:(void(^)(void))completion {

     //查看无弹框的打开这个注释

    if([viewControllerToPresentisKindOfClass:[UIAlertControllerclass]]) {

        UIAlertController*alertController = (UIAlertController*)viewControllerToPresent;

        NSLog(@"==== title == %@", alertController.title);

        NSLog(@"==== message == %@", alertController.message);

        if(alertController.title==nil&& alertController.message==nil) {

            return;

        }

    }[selfZB_presentViewController:viewControllerToPresentanimated:animationcompletion:completion];

}

具体参考链接:

https://juejin.im/post/5c04e4c06fb9a049aa6ed50d

感谢大佬分享!

相关文章

  • iOS动态修改app图标

    在iOS10.3以后UIApplication多了个分类UIAlternateApplicationIcons 1...

  • iOS 动态修改app图标

    在开发过程中,我们有时候会遇到对线上的项目进行更改icon的需求.譬如,明天双十一抢购,要做一个活动图标.后天什么...

  • 【iOS】动态修改APP图标

    在微博上看到了 @安财小小生分享的iOS 10.3新增功能:通过API动态修改APP的图标,自己深入了解了一下。 ...

  • iOS 动态修改图标

    需求:根据后台给定名字切换App图标 解决方案: 在本地放置需要切换的一些图片,在plist文件里面加一些参数,然...

  • iOS 动态修改app 图标

    动态修改app的图标,就是在不重新安装app的情况下,可以修改当前的icon图标;在某些情况下,是有这个需求的;例...

  • flutter 图标、名称配置

    修改app名称和图标 安卓和ios平台需要分别配置。 安卓 ios修改string 图标文件可在图标工厂生成,直接...

  • [iOS]动态修改app 图标(icon)

    动态修改app的图标,就是在不重新安装app的情况下,可以修改当前的icon图标;在某些情况下,是有这个需求的;例...

  • ionic动态更改App主屏幕图标插件

    ionic动态更改App主图标效果 支持iOS 安卓动态更改App图标,需要预先配置。 可查看GitHub:htt...

  • iOS 动态修改App的应用图标

    一、前言: 该功能应该是iOS10以后出的,相对于热度比较高的应用来说,根据业务需要,比如淘宝,双11需要动态修改...

  • 动态修改app图标

    1.添加icons图片 2.修改plist 3.添加代码 demo: https://github.com/lic...

网友评论

      本文标题:iOS 动态修改图标

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