我知道如何在iOS 10.3中设置备用图标,需要在Info.plist中添加相应的密钥。但我不确定每个备用图标所需的大小是什么。我现在使用资源文件夹,并且必须为Spotlight、不同的iPhone和iPad尺寸等放置约12个不同大小的图标。备用图标的规则是什么?
我知道如何在iOS 10.3中设置备用图标,需要在Info.plist中添加相应的密钥。但我不确定每个备用图标所需的大小是什么。我现在使用资源文件夹,并且必须为Spotlight、不同的iPhone和iPad尺寸等放置约12个不同大小的图标。备用图标的规则是什么?
由于最大的问题在于如何配置图标图像源和info.plist,这里提供了一个样例,告诉您如何在Swift 3中实现iOS 10.3中的备用图标设置。
如果您的应用程序不支持iPad,则图标图像源可以是60pt@2x和60pt@3x(120x120 180x180),并且20pt、29pt和40pt都可以从60pt的图像生成。因此,如果它只是iPhone应用程序,备用图标图像源也应该是60pt@2x和60pt@3x。如果您的应用程序支持iPad Pro,则应该是83.5pt。
就像您在图片中看到的那样,备用图标图像应该作为png文件添加到项目中(在我的示例中为黑色背景图像),但不要添加到Assets.xcassets中。
备用图标在info.plist中的配置有点复杂,因此如果这是您第一次进行此操作,建议您复制我的plist代码。而且,请注意我的备用图标名称(blackBgColor)在plist中已经被使用两次,如果您要根据我的版本更改图标名称,请确保在这两个地方都更改了名称。
<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
中。备用图标的大小与主要此处列出的图标大小相同。编辑:这段摘录来自上面的文档 此处列出的图标大小
提供视觉上一致的所有必要尺寸的备用图标。 与您的主应用程序图标一样,每个备用应用程序图标都作为一组相关图像交付,其大小不同。当用户选择替代图标时,该图标的适当大小将取代主屏幕、Spotlight和系统中其他位置的主应用程序图标。为确保备用图标在整个系统中始终呈现一致性——例如,用户不应该在主屏幕上看到您的图标的一个版本,在设置中看到完全不同的版本——请以与您为主应用程序图标提供的相同尺寸提供它们(除了大型App Store图标)。请参阅应用程序图标大小。