• iOS App更换图标Logo(本地更换)


    1.各大购物平台在节假日都是更换App Icon图标

    通常有两种方式:1.每换一个新的图标,需要重新上一次AppStore;

                                    2.在项目里预留好未来需要更换的图标,用api触发(或者本地时间判断自动更换)

    两种方法各有利弊,第一种 弊:每次都需要上AppStore,有点麻烦;利:但是可以保证AppStore上的图标也是最新的

                              第二种,弊:需要把未来的图标设计好,AppStore上的图标不会更新。 利:不用频繁上架,只需要埋好图标,随时更换。

    第一种方法大家都会,现在来说说第二种。

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

    一:添加需要更换的Icon图标(图片)

    注意:添加的图标不要放在Assets.xcassets文件里;放在文件目录,如下图(我取名为replaceIcon的图片)

    二:配置info.plist信息

    2.1添加 Icon files (iOS 5),类型为Dictionary

        注意:全名为Icon files (iOS 5),包括括号里的iOS5

    2.2 在Icon files (iOS 5)下添加CFBundleAlternateIcons,类型为Dictionary

    2.3 在CFBundleAlternateIcons下添加changeIcon1,类型为Dictionary

    注意: changeIcon1 是存放图片的文件名,名字随便起。本文中,只有这里可以随便起名字,其他的都是苹果的固定类名

    2.4.在changeIcon1下添加CFBundleIconFiles,类型为Array

    2.5.在CFBundleIconFiles下添加一个item0,类型为String类型。这里输入更换图片的名称(步骤一中的replaceIcon)

    这里还可以创建多个更换图片文件changeIcon2,changeIcon3

     三.使用

    在需要更换图片的地方写以下代码: 代码里的changeIcon1,就是步骤二-->2.3中创建的图片文件名

        if ([UIApplication sharedApplication].supportsAlternateIcons) //来判断是否支持换应用图标    {

            [[UIApplication sharedApplication] setAlternateIconName:@"changeIcon1" completionHandler:^(NSError * _Nullable error) {

                if (error)

                {

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

                }else{

                    NSLog(@"更换app图标成功");

                }

            }];

        }

     四.优化

    完成上面三步,基本算完图标更换的流程,但是在调用更换图标的方法时(步骤三),系统会弹出一个弹窗,告知用户已经完成更换,如下图。 这样的体验非常不友好。

    现在我们想办法去掉这个弹窗

    PS:2023.12.22.貌似苹果优化了这个功能,现在更换icon成功后不会出现弹窗了,体验感得到了优化

  • 相关阅读:
    统计学习方法-感知机
    【python】通用的json_diff方法
    【scipy 基础】--插值
    FFmpeg--音频解码流程:aac解码pcm
    speedoffice(PPT)怎么插入条形图
    (1)(1.13) LightWare SF10/SF11激光雷达
    【JavaWeb - 网页编程】五 XML 介绍
    Nacos注册中心概述、服务注册、分级存储模型及环境隔离
    什么是全链路压测?
    VBA之正则表达式(36)-- 提取年份范围
  • 原文地址:https://blog.csdn.net/wyz670083956/article/details/127126570