iOS13系统App应用图标发生变化的问题

      最近我们App的应用图标进行了更新,在iOS13系统上,发现一个奇怪的问题,当点击App的时候App的图标会变回之前旧版的icon图标,当App从前台切换到后台时,也会看到旧版的icon图标,大概过0.5秒左右,才会从旧版的icon图标切换到新版的icon图标。删除应用重新安装还是会存在这个问题。

      经过排除项目中确实没有旧版的icon图标了、项目中也没有用到下面这些方法去动态更换App图标:

@interface UIApplication (UIAlternateApplicationIcons)
// 如果为NO,表示当前进程不支持替换图标
@property (readonly, nonatomic) BOOL supportsAlternateIcons NS_EXTENSION_UNAVAILABLE("Extensions may not have alternate icons") API_AVAILABLE(ios(10.3), tvos(10.2));
// 传入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));
// 如果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));
@end

 

       后来,经过分析发现是由于手机缓存的原因造成的。

       解决办法:重启手机!!!

 

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
### 回答1: uniapp 是一种跨平台开发框架,可以实现一次编写同时发布到多个平台,包括iOS和安卓。在uniapp中,动态修改app应用图标是可以实现的。 首先,要实现动态修改app应用图标,我们需要使用uniapp提供的原生插件功能。原生插件是提供给uniapp开发者与原生代码进行交互的一种机制。可以通过编写原生插件来实现一些uniapp本身不支持的功能。 其次,我们需要在原生代码中实现修改应用图标的功能。具体的实现方法会因为平台不同而有所差异。对于iOS平台,我们可以通过修改应用的Info.plist文件中的CFBundleIconName属性来更换应用图标。这个属性对应的是应用包内存放应用图标文件的名称。我们可以通过在原生代码中动态修改这个文件名来实现动态更换图标的效果。对于安卓平台,我们可以通过修改应用的AndroidManifest.xml文件中的android:icon属性来更换应用图标。与iOS类似,我们也可以通过在原生代码中动态修改这个属性的值来实现动态更换图标的效果。 最后,我们需要在uniapp中调用原生插件提供的接口来实现动态更换应用图标的功能。可以通过在uniapp的逻辑代码中监听用户的操作,当用户触发更换图标的操作时,调用原生插件提供的接口来实现应用图标更换。可以根据不同的操作系统平台来调用不同的原生插件接口。 总之,通过使用uniapp的原生插件机制和对应平台的原生代码,我们可以实现在uniapp动态修改app应用图标的功能。这样用户可以根据自己的喜好或者不同的场景,来随时更换应用图标,增加应用的个性化和多样性。 ### 回答2: UniApp是一款跨平台的应用开发框架,支持使用Vue.js进行开发,并能在多个平台上同时运行。动态修改UniApp应用图标是一种实现个性化展示和用户体验的方法。 UniApp支持在不同平台上自定义应用图标的功能,例如在Android平台上可以通过manifest.json文件的`icons`字段来配置应用图标,而在iOS平台上可以通过uni-config.json的`icons`字段来配置应用图标。这些配置文件可以在UniApp项目中找到。 要实现动态修改应用图标,首先需要准备好不同图标的资源文件,这些文件可以是不同尺寸和不同格式的图片。接下来,在应用中通过监听用户的操作或者其他触发条件,获取需要切换图标信息。 在获取到需要切换图标信息后,可以使用UniApp提供的平台相关API来进行动态修改。例如在Android平台上可以使用uni.requestUpdateApp方法来请求更新应用图标,而在iOS平台上可以使用uni.setTabBarStyle方法来设置应用图标的样式。 在实际实现过程中,需要根据具体平台的要求和限制来进行相应的操作。同时也要注意在应用内进行图标切换时给予用户相应的提示和选择,以保证用户体验的一致性和便利性。 总结来说,UniApp支持动态修改应用图标的功能,但具体的实现方式要根据不同的平台和需求来进行相应的配置和操作。这样可以提供更好的用户体验和个性化的展示效果。 ### 回答3: UniApp是一种跨平台的应用开发框架,可以用于开发同时运行在多个平台的应用程序。动态修改UniApp应用图标是指在应用运行时,可以通过代码动态改变应用图标。 UniApp框架本身并没有直接提供修改应用图标的功能,但可以通过一些技巧来实现。在UniApp中,可以通过动态切换应用启动页的方式来实现实质上的应用图标变化。 具体操作步骤如下: 1. 开发者可以准备好不同的应用图标资源文件,例如不同颜色、不同风格的图标。 2. 在UniApp的启动页中通过代码逻辑来判断需要显示的图标,并将对应的图标资源文件路径传递给页面。 3. 在启动页的页面对应位置引用图标资源,并设置为应用图标。 4. 当应用启动时,启动页会根据传递的图标资源文件路径动态加载对应图标,并将其设置为应用图标。 需要注意的是,动态修改应用图标的方式在不同平台上可能会有不同的实现方法。由于UniApp是跨平台的框架,开发者需要针对不同平台分别处理图标动态切换。可以通过判断运行的平台类型,然后调用对应平台的接口来实现图标动态切换。 总结来说,UniApp框架虽然没有直接提供动态修改应用图标的功能,但借助启动页的切换机制,开发者可以通过代码实现应用图标动态变化。这种方式需要在不同平台上分别处理,为每个平台准备对应的图标资源文件,并通过代码逻辑来判断和切换图标
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值