iOS 10.3中的替代图标
我有关于如何在iOS 10.3中添加备用图标的信息,在Info.plist中添encryption钥。 但是,我不确定的是每个替代品需要哪些尺寸。 我现在使用的资产文件夹,并且不得不放置大约12个不同大小的图标聚光灯,不同的iPhone和iPad的大小等。什么是替代的规则?
这不是重复的,这是可能的。 它是问你是否必须包括每个单一的大小替代图标
由于最大的问题是如何configuration图标图像源和info.plist,下面是一个示例,告诉你如何设置iOS 10.3中的替代图标,在Swift 3中实现。
-
如果您的应用程序不支持iPad,则图标图像源可以是60pt @ 2x和60pt @ 3x(120×120 180×180),20pt 29pt和40pt全部可以从60pt图像生成。 所以,如果它是一个iPhone专用的应用程序, 你的备用图标图像源也应该是60pt @ 2x和60pt @ 3x 。 如果您的应用支持iPad Pro,则应该是83.5pt。
-
就像你在图片中看到的一样,备用图标图像应该作为png文件(我的示例中的blackBgColor图像)添加到项目中,但不添加到Assets.xcassets中。
-
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))") } } } }
要更改图标,您需要使用setAlternateIconName(_:completionHandler:)
你需要把CFBundleAlternateIcons
放在Info.plist
。 “备用”图标大小与此处列出的主要图标大小相同。
您可以在CFBundleAlternateIcons字典条目的内容中阅读完整的文档
编辑:这个摘录是从icon sizes listed here
的上述文档icon sizes listed here
提供所有必要尺寸的视觉上一致的替代图标。 就像您的主要应用程序图标一样,每个备用应用程序图标都是作为大小不同的相关图像的集合提供的。 当用户select备用图标时,该图标的合适大小会replace主屏幕,Spotlight中以及系统中其他位置的主应用程序图标。 为确保备用图标在整个系统中一致显示,用户不应在主屏幕上看到一个版本的图标,在“设置”中看不到一个完全不同的版本 – 以与为主应用程序图标提供的尺寸相同的尺寸提供它们(除了大的App Store图标)。 请参阅应用程序图标大小