一个即插即用的UI组件,允许在iOS上轻松选择备用图标。
向iOS应用添加备用图标并非完全直接,但它应该是。将条目添加到Info.plist已经够麻烦了,更不用说实现可以在iPhone和iPad上显示的UI。这个库解决了最后一部分,让你更容易地选择你想添加的图标!
UIControl
之上。在Xcode中,选择File > Swift Packages > Add Package Dependency 并输入仓库URL
https://github.com/jellybeansoup/ios-icon-selector
将以下行添加到您的Cartfile
中
github "jellybeansoup/ios-icon-selector"
首先,在您的应用程序的Info.plist
文件中,在CFBundleIcons
键下定义您的备用图标。 不要忘记包含您应用程序主图标的条目!
<key>CFBundleIcons</key>
<dict>
<key>CFBundleAlternateIcons</key>
<dict>
<key>blue</key>
<dict>
<key>CFBundleIconFiles</key>
<array>
<string>blue-20</string>
<!-- Include all the relevant sizes! -->
</array>
</dict>
</dict>
<key>CFBundlePrimaryIcon</key>
<dict>
<key>CFBundleIconFiles</key>
<array>
<string>green-83.5</string>
<!-- Include all the relevant sizes! -->
</array>
</dict>
</dict>
接下来,实例化IconSelector并将其添加到您的视图层次结构中。 IconSelector
类继承自UIControl
,因此您还需要添加一个目标/动作对,以便在用户选择不同的图标时收到通知。
// Goes at the top of the file.
import IconSelector
// Retrieve all the icons defined in your app's main bundle.
let icons = Icon.main
// Instantiate the IconSelector with a target/action combo, and add it to your view hierarchy.
let iconSelector = IconSelector(icons: icons)
iconSelector.addTarget(self, action: #selector(iconSelectorDidChange(_:)), for: .valueChanged)
view.addSubview(iconSelector)
最后,实现更改应用程序图标以响应用户选择所需的操作。
@objc func iconSelectorDidChange(_ iconSelector: IconSelector) {
guard UIApplication.shared.supportsAlternateIcons, let selectedIcon = iconSelector.selectedIcon else {
return
}
UIApplication.shared.setAlternateIcon(selectedIcon, completionHandler: nil)
}
您可以在此处找到此项目的完整文档。 此文档由jazzy从GitHub Action自动生成,并由GitHub Pages托管。
要在本地生成文档,请从仓库的根目录运行make documentation
或sh ./scripts/documentation.sh
。 输出将在docs
文件夹中生成,并且不应包含在提交中(因为在线文档是自动生成和更新的)。
版权所有© 2021 Daniel Farrelly & Curtis Herbert
如果满足以下条件,则允许以源代码和二进制形式重新分发和使用,无论是否经过修改:
本软件由版权所有者和贡献者“按原样”提供,并且不提供任何明示或暗示的保证,包括但不限于对适销性和特定用途适用性的暗示保证。 在任何情况下,版权所有者或贡献者均不对任何直接、间接、偶然、特殊、惩戒性或后果性损害(包括但不限于采购替代商品或服务; 损失使用、数据或利润; 或业务中断)负责,无论是由于合同、严格责任或侵权(包括疏忽或其他)引起的,以任何方式使用本软件造成的,即使已被告知可能发生此类损害。