iOS 10.3中的替代图标

我有关于如何在iOS 10.3中添加备用图标的信息,在Info.plist中添encryption钥。 但是,我不确定的是每个替代品需要哪些尺寸。 我现在使用的资产文件夹,并且不得不放置大约12个不同大小的图标聚光灯,不同的iPhone和iPad的大小等。什么是替代的规则?

这不是重复的,这是可能的。 它是问你是否必须包括每个单一的大小替代图标

由于最大的问题是如何configuration图标图像源和info.plist,下面是一个示例,告诉你如何设置iOS 10.3中的替代图标,在Swift 3中实现。

Assets.xcassetsinfo.plist中

  1. 如果您的应用程序不支持iPad,则图标图像源可以是60pt @ 2x和60pt @ 3x(120×120 180×180),20pt 29pt和40pt全部可以从60pt图像生成。 所以,如果它是一个iPhone专用的应用程序, 你的备用图标图像源也应该是60pt @ 2x和60pt @ 3x 。 如果您的应用支持iPad Pro,则应该是83.5pt。

  2. 就像你在图片中看到的一样,备用图标图像应该作为png文件(我的示例中的blackBgColor图像)添加到项目中,但不添加到Assets.xcassets中。

  3. info.plist中备用图标的configuration有点复杂,所以如果这是你第一次做这个,我build议你用plist复制我的代码。 而且, 注意我的备用图标的名字(blackBgColor)已经被用于plist中的TWICE ,如果你要根据我的版本更改图标的名字,请确保你在两个地方都改了名字。

    <key>CFBundleIcons</key> <dict> <key>CFBundleAlternateIcons</key> <dict> <key>blackBgColor</key> <dict> <key>CFBundleIconFiles</key> <array> <string>blackBgColor</string> </array> <key>UIPrerenderedIcon</key> <false/> </dict> </dict> <key>CFBundlePrimaryIcon</key> <dict> <key>CFBundleIconFiles</key> <array> <string>AppIcon60x60</string> </array> </dict> </dict> 

现在,ViewController中的代码将变得简单。

 import UIKit class ViewController: UIViewController { override func viewDidLoad() { super.viewDidLoad() } @IBAction func changeAppIcon(_ sender: Any) { if UIApplication.shared.supportsAlternateIcons { print("you can change this app's icon") }else { print("you cannot change this app's icon") return } if let name = UIApplication.shared.alternateIconName { // CHANGE TO PRIMARY ICON UIApplication.shared.setAlternateIconName(nil) { (err:Error?) in print("set icon error:\(String(describing: err))") } print("the alternate icon's name is \(name)") }else { // CHANGE TO ALTERNATE ICON UIApplication.shared.setAlternateIconName("blackBgColor") { (err:Error?) in print("set icon error:\(String(describing: err))") } } } } 

要更改图标,您需要使用set​Alternate​Icon​Name(_:​completion​Handler:​)

你需要把CFBundleAlternateIcons放在Info.plist 。 “备用”图标大小与此处列出的主要图标大小相同。

您可以在CFBundleAlternateIcons字典条目的内容中阅读完整的文档

在这里输入图像说明


编辑:这个摘录是从icon sizes listed here的上述文档icon sizes listed here

提供所有必要尺寸的视觉上一致的替代图标。 就像您的主要应用程序图标一样,每个备用应用程序图标都是作为大小不同的相关图像的集合提供的。 当用户select备用图标时,该图标的合适大小会replace主屏幕,Spotlight中以及系统中其他位置的主应用程序图标。 为确保备用图标在整个系统中一致显示,用户不应在主屏幕上看到一个版本的图标,在“设置”中看不到一个完全不同的版本 – 以与为主应用程序图标提供的尺寸相同的尺寸提供它们(除了大的App Store图标)。 请参阅应用程序图标大小