我有关于如何在iOS 10.3中设置备用图标的信息,在Info.plist中添加了密钥。但是,我不确定每个备用图标需要哪些大小。我现在使用资产文件夹,必须为聚光灯、不同的iPhone和iPad大小等放置大约12个不同大小的图标。备用图标的规则是什么?
ybzsozfc1#
由于最大的问题是如何配置图标图像源和info.plist,因此here是一个示例,告诉您如何在iOS 10.3中设置替代图标,在Swift 3中实现。
1.如果应用程序不支持iPad,则图标图像源可以是60pt@2x和60pt@3x(120x120 180x180),20pt、29pt和40pt都可以从60pt图像生成。因此,如果是iPhone专用应用程序,您的备用图标图像源也应该是60pt@2x和60pt@3x。并且应该是83.5pt,如果您的应用支持iPad Pro。1.就像您在图片中看到的那样,替代图标图像应该作为png文件添加到项目中(我的示例中的blackBgColor图像),而不是添加到Assets.xcassets中。1.在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))") } } } }
6l7fqoea2#
要更改图标,您需要使用setAlternateIconName(_:completionHandler:)您需要将CFBundleAlternateIcons放在Info.plist中。备用图标大小与主icon sizes listed here相同。您可以在CFBundleAlternateIcons字典条目的内容中阅读完整文档
setAlternateIconName(_:completionHandler:)
CFBundleAlternateIcons
Info.plist
**编辑:**此摘录来自上述文档icon sizes listed here**提供所有必要大小的视觉一致的备用图标。**与主应用程序图标一样,每个备用应用程序图标都以大小不同的相关图像集合的形式提供。当用户选择备用图标时,该图标的适当大小将替换主屏幕上的主应用程序图标。为确保备用图标在整个系统中显示一致-用户不应在主屏幕上看到一个版本的图标,而在“设置”中看到完全不同的版本,例如,将它们的大小设置为与主应用程序图标相同(应用程序商店的大图标除外)。请参阅App Icon Sizes
icon sizes listed here
2条答案
按热度按时间ybzsozfc1#
由于最大的问题是如何配置图标图像源和info.plist,因此here是一个示例,告诉您如何在iOS 10.3中设置替代图标,在Swift 3中实现。
1.如果应用程序不支持iPad,则图标图像源可以是60pt@2x和60pt@3x(120x120 180x180),20pt、29pt和40pt都可以从60pt图像生成。因此,如果是iPhone专用应用程序,您的备用图标图像源也应该是60pt@2x和60pt@3x。并且应该是83.5pt,如果您的应用支持iPad Pro。
1.就像您在图片中看到的那样,替代图标图像应该作为png文件添加到项目中(我的示例中的blackBgColor图像),而不是添加到Assets.xcassets中。
1.在info.plist中配置替代图标有点复杂,所以如果这是你第一次这样做,我建议你复制我在plist中的代码。而且,注意我的替代图标的名称(blackBgColor)在plist中已经使用了两次,如果你要根据我的版本更改图标的名称,请确保你在两个地方都更改了名称。
现在,ViewController中的代码将变得简单。
6l7fqoea2#
要更改图标,您需要使用
setAlternateIconName(_:completionHandler:)
您需要将
CFBundleAlternateIcons
放在Info.plist
中。备用图标大小与主icon sizes listed here相同。您可以在CFBundleAlternateIcons字典条目的内容中阅读完整文档
**编辑:**此摘录来自上述文档
icon sizes listed here
**提供所有必要大小的视觉一致的备用图标。**与主应用程序图标一样,每个备用应用程序图标都以大小不同的相关图像集合的形式提供。当用户选择备用图标时,该图标的适当大小将替换主屏幕上的主应用程序图标。为确保备用图标在整个系统中显示一致-用户不应在主屏幕上看到一个版本的图标,而在“设置”中看到完全不同的版本,例如,将它们的大小设置为与主应用程序图标相同(应用程序商店的大图标除外)。请参阅App Icon Sizes