我有关于如何在 iOS 10.3 中设置替代图标的信息,在 Info.plist 中添加 key 。但是,我不确定每个替代品需要哪些尺寸。我现在使用 Assets 文件夹,并且必须放入大约 12 个不同大小的聚光灯图标、不同的 iphone 和 ipad 大小等。备用图标的规则是什么?
最佳答案
由于最大的问题是如何配置图标图片源和info.plist,here是一个示例,告诉您如何在 iOS 10.3 中设置替代图标,在 Swift 3 中实现。
如果您的应用不支持 iPad,图标图像源可以是 60pt@2x 和 60pt@3x(120x120 180x180),20pt 29pt 和 40pt 都可以从 60pt 图像生成。因此,您的备用图标图像源也应该是 60pt@2x 和 60pt@3x,如果它是仅限 iPhone 的应用程序。如果您的应用支持 iPad Pro,它应该是 83.5pt。
就像您在图片中看到的那样,备用图标图像应该作为 png 文件添加到项目中(我的示例中的 blackBgColor 图像),而不是添加到 Assets.xcassets 中。强>
info.plist 中alternate icons 的配置有点复杂,所以如果这是你第一次这样做,我建议你复制我的代码到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))")
}
}
}
}
关于ios - iOS 10.3 中的备用图标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43097604/