iOS 10.3+ 动态修改 App 图标

  支持系统:

  • iOS 10.3+
  • tvOS 10.2+

  Apple 官方文档  

  官方 API:

@interface UIApplication (UIAlternateApplicationIcons)
// If false, alternate icons are not supported for the current process.
@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.
- (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.
@property (nullable, readonly, nonatomic) NSString *alternateIconName NS_EXTENSION_UNAVAILABLE("Extensions may not have alternate icons") API_AVAILABLE(ios(10.3), tvos(10.2));
@end

  步骤:

  在 info.plist 文件中新增 Icon files (iOS 5)

  

  其中,Primary Icon 是应用默认图标

  Xcode 中,默认 没有 CFBundleAlternateIcons,需要删掉 Newstand Icon,添加上 CFBundleAlternateIcons。

  

  Primary Icon 可不用设置,使用系统默认的 Assets.xcassets 中的 AppIcon。

  

猜你喜欢

转载自www.cnblogs.com/ZachRobin/p/10289240.html
今日推荐