首页
学习
活动
专区
圈层
工具
发布

iOS15 切换上架App图标的最新方案

当时的应用场景主要是提供给用户主动切换不同的图标,更换成自己喜欢的图标风格。 iOS15之后,苹果支持将上线AppStore的包进行图标切换,目的是根据不同的图标判断用户转化。...因此在Xcode13之后,多ICON的设置方法由之前的手动配置,改成了更加方便的配置方式。 因为文章在iOS15之前就整理好了,新的方案出来后,肯定是新的方案的应用场景更广,也更方便开发者操作。...如果需要将ICON恢复到默认的,那么调用如下代码: [[UIApplication sharedApplication] setAlternateIconName:nil completionHandler...图片的名称需要跟Info.plist里的CFBundleIconFiles配置的名称匹配;setAlternateIconName:的参数,需要跟Info.plist里的CFBundleAlternateIcons...,所以不知道这个切换图标的功能,是不是只支持iOS15版本系统上的AppStore才能看到切换的效果。

3.8K20

iOS 无弹框换图标,直接用就可以了

需求:换图标,用户无感 1.分析:         对于iOS,是开发了API可以换图标,但是有规定的,就是你要换的图标是要在APP里面内置的,也就是说你要换的APPicon,是提前放在APP 包里面的...,120*120的就行了,然后名字要和plist里面的对应,我这里用的是MayOneIcon;(注)这个名字在plist里面有俩个地方需要修改。      ...(3)在需要调用改图标的地方写入换icon的代码: #pragma mark ExchengeIconMethod /* 直接调用此方法,传入数据为iconName,也就是后台给你要换的图标...iconNameNew isEqualToString:@"DefaultIcon"]) { [[UIApplication sharedApplication]setAlternateIconName...name:%@",iconname); }]; }else{ [[UIApplication sharedApplication]setAlternateIconName

1K10
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    iOS 无弹框换图标,直接用就可以了

    Demo:更换图标demo,如有问题,请随时联系 需求:换图标,用户无感 1.分析:         对于iOS,是开发了API可以换图标,但是有规定的,就是你要换的图标是要在APP里面内置的,也就是说你要换的...,120 * 120的就行了,然后名字要和plist中里面的对应,我这里用的是MayOneIcon;(注)这个名字在plist中里面有俩个地方需要修改。      ...(3)在需要调用改图标的地方写入换图标的代码: /* 直接调用此方法,传入数据为iconName,也就是后台给你要换的图标 默认传的是@"DefaultIcon" */ - (void)chengeAppicon...[iconNameNew isEqualToString:@"DefaultIcon"]) { [[UIApplication sharedApplication]setAlternateIconName...icon name:%@",iconname); }]; }else{ [[UIApplication sharedApplication]setAlternateIconName

    57920

    如何优雅的动态修改app 图标

    在iOS 10.3之后,苹果官方提供了相关的API来实现这个功能,主要是下面这几个方法: @interface UIApplication (UIAlternateApplicationIcons)...完成后的操作将会在任意的后台队列中异步执行; 如果需要更改UI,请确保在主队列中执行. - (void)setAlternateIconName:(nullable NSString *)alternateIconName...2,配置info.plist 在info.plist中右键 -> Add Row ,输入Icon… 会有提示,选择Icon files(iOS 5) 这时候,内容是这样的。...files(iOS 5)内添加一个Key: CFBundleAlternateIcons ,类型为字典,在这个字典里配置我们所有需要动态修改的icon:键为icon的名称,值为一个字典(这个字典里包含两个键...iconName isEqualToString:@""]) { iconName = nil; } [[UIApplication sharedApplication] setAlternateIconName

    2.2K20

    iOS10.3后允许App运行中变更App图标

    引 在iOS10.3中,苹果提供了一个比较有意思的功能。...但是这只能在iOS10.3之后实现。 效果如下: 可以看到在点击按钮操作后将App的图标更换掉了。 这个效果可以用在很多地方,做出更加需要时效性的App,比如日历、时间、天气、票据、活动等等。...API支持 首先这个功能只在iOS10.3以后才支持,所以在使用之前当然需要进行判断,我们当然也能够自己获取iOS的系统版本来决定,但是苹果给我们提供了直接的判断方法: // 如果为NO,表示当前进程不支持替换图标...- (void)setAlternateIconName:(nullable NSString *)alternateIconName completionHandler:(nullable void...supportsAlternateIcons]) {// 系统不支持换图标 return; } [[UIApplication sharedApplication] setAlternateIconName

    1.2K20

    iOS学习——iOS常用的存储方式

    不管是在iOS还是Android开发过程中,我们都经常性地需要存储一些状态和数据,比如用户对于App的相关设置、需要在本地缓存的数据等等。...根据要存储的的数据的大小、存储性质以及存储类型,在iOS和Android中哪个都有多种存储方式。...iOS程序默认情况下只能访问程序自己的目录,这个目录被称为“沙盒”,即沙盒其实就是一个App特有的一个文件夹,iOS下每个App都有自己特有的一个沙盒,其结构和目录特性都是一样的。...归档在iOS中是另一种形式的序列化,只要遵循了NSCoding协议的对象都可以通过它实现序列化。...关于SQLite的详细使用方法详见:iOS开发数据库篇—SQLite的应用

    3.7K100

    iOS---iOS中SQLite的使用

    一.SQLite的使用 采用SQLite数据库来存储数据。SQLite作为一中小型数据库,应用ios中,跟前三种保存方式相比,相对比较复杂一些。还是一步步来吧!...第一步:导入头文件 需要添加SQLite相关的库以及头文件:在项目文件的Build Phases下,找到Link Binary Library(ies),添加libsqlite3.0.dylib(libsqlite3...使用前注意:如果不往数据库里面添加任何的表,这个数据库等于没有建立,不会在硬盘上产生任何文件,如果数据库已经存在,则会打开这个数据库。...所以要想正确从数据库中取出中文,需要用NSString来接收从数据库取出的字符串。...二.FMDB的使用 github地址是https://github.com/ccgus/fmdb // 继承 # pod 'FMDB/SQLCipher' 1.FMDB的创建: NSString

    2K80

    iOS学习——iOS项目增加新的字体

    基本思路   在项目开发过程中,iOS系统自带的字体库可能不适应需求,需要导入其他的字体库。...下面是iOS项目增加新的字体的基本思路,基本上分为三步: 将字体库添加到项目中 在info.plist中添加所需新字体, 同时也在target-->Build Phases-->Copy Bundle...Resources中将info.plist中添加的字体添加上(确保能找到资源) 找到真实可用的fontName, 代码中使用fontWithName: size: ....配置有两步 第一是需要在info.plist中添加所需新字体,在 info.plist文件中添加一组键值对,Fonts provided by application,然后在下面的item对应的值填写就是我们添加的字体库文件的名称...,并且可以获取到我们添加的字体的名称。

    88531

    iOS学习——获取iOS设备的各种信息

    答案是肯定的,本文就主要来学习一下在iOS开发过程中如何获取到设备的各种状态信息。   在iOS中要获取设备的状态信息,主要涉及到三个类:UIDevice、NSbundle和NSlocale。...因此,在这种情况下,获取设备上是否安装了特定的App以及设备上安装了那些App则显得比较重要了。   那么如何判断我们的iOS设备上是否安装了特定的App呢?...有两种方案: 直接判断是否安装了特定的App 先获取到iOS设备上安装的所有App的清单,然后判断是否有特定的App 2.1 直接判断iOS设备是否安装了特定的app   这个方法其实是比较简单的,但是你需要知道该软件的...扩展iOS软件之间的调用:IOS的软件之间的调用(URL Schemes) 方法很简单,但是问题了,我们要如何获取到特定App的URL Schemes呢?...设备上安装的所有App清单 要获取iOS设备上安装所有App清单以及一些必要信息,实际上这一个是不允许的,因为涉及到个人隐私问题。

    4.1K71

    【iOS开发】iOS路由引入及遇到的问题

    传统跳转跟路由的简单对比 Native的跳转方式: iOS: TestViewController *vc = [[TestViewController alloc] init]; [self.navigationController...统一iOS,Android端的跳转逻辑。 App复杂后组件化后,组件间解耦。 统计埋点可以通过路由进行,因为路由是一个中间件,所以对路由进行AOP就行。...iOS端的路由库 读了一些github上的开源路由库的代码,实现的原理都是一样的,用一个集合类缓存路由跟处理闭包的对应关系,在app启动的时候,注册好支持的URL,当调用openURL的时候,根据给定的...)(模块内部传对象可以用,模块间的话不应该传对象,会造成耦合) HHRouter Routable 三种iOS路由注册处理方案 第一种:模块自己注册的路由自己处理 在注册url的时候,自己处理openUrl...如:web网页要打开一个原生页面,如果要iOS跟Android用同一个url的话,他们都得用我们的类名。耦合太大。 第三种:URL跟ViewController一一对应,同时统一处理跳转。

    2K30

    iOS-规避iOS审核4.3规则的重心

    前言 最近iOS卡审严重,很多小伙伴都被拒了,也有很多小伙伴收到4.3礼包,这里就说说4.3吧!...规避4.3的重心,切断当前马甲包与以往马甲包的所有相似性关联; 相似关联 a. ipa包特征;     b. 开发者帐号;        c. 打包电脑;       d....适当添加一些无用的资源; c.修改资源文件的HASH值; 翻新工程: a.修改工程名; b.修改工程目录结构; 2. 开发者帐号 两个马甲包不要关联到同一个开发者帐号的信息;比如打包时关联。 3....打包电脑 有条件的最好用不同的MAC来打包(每台MAC上最好打包马甲包不要超过5个) 4. 上传IP地址 上传马甲包时,IP不要跟其他马甲包的IP相同; 5....混淆相关 最重要的就是代码混淆了,混淆相关的可以移步看我的另一篇博客: 《Python-iOS代码混淆-马甲包混淆工具(Python脚本混淆iOS工程)》

    1.7K20

    iOS 开发实践:iOS照片API的那些坑

    3.支持的最低系统版本 苹果官方推荐始终只支持最新的2个大系统,就今天而言(2018.7)理论上我们应该只用支持iOS 10和iOS 11。...然而国内的大环境,使得我们通常还需要从iOS 7,或者iOS 8开始支持。 对于图片类App来说,有一条很重要的分水岭,那就是iOS 8.1。...iOS 8开启了Photos.framework的新时代,而iOS 7及以下开发者只能使用AssetsLibrary的API。...所以,推荐直接从iOS 9开始支持,如果不行的话,推荐至少从iOS 8.1开始支持(当然更合理的是从8.4开始支持,这样升级不到iOS 9的手机也有机会使用上)。...但是当base sdk到了iOS 10之后,我们发现之前能用的接口现在在iOS 8.1及以上系统,会出现成功回调不执行的问题。

    3.3K40

    iOS中的Block

    什么是Block(快速实现直接输入inlink) Block是一种特殊的数据类型 Block的作用 用于保存一段代码,可以在恰当的时间取出来调用 功能类似于函数和方法 Block的格式 返回值(^block...4、__main_block_func_0函数,其实对应的block的函数体,该函数接受了一个__cself参数,其实就是对应的block本身 5、__main_block_desc_0结构体,其中比较有价值的信息是...block的大小 6、main函数对block的创建,可以看出执行block就是调用一个以block自身为参数的函数,这个函数对应着block的执行体。...,传给外面一个在堆上的,autorelease的对象。...,在Block的内存存储在堆中时,如果在Block中引用了外面的对象,会对所引用的对象进行一次retain操作,为了不对所引用的对象进行一次retain操作,可以在对象的前面使用__block来修饰 -

    79510
    领券