ymu*_*tlu 10
针对这种情况有一种新的解决方案.
您可以使用
setAlternateIconName(_:completionHandler:)
Run Code Online (Sandbox Code Playgroud)
iOS 10.3与xcode 8.3一起出现.
更新:
用法很简单,关键是找出plist的使用情况,并注意你不能从xcassets加载资产(至少对我没用).您需要将图标文件添加到项目中,并选择180x180图像以获得质量.
您需要使用"图标文件(iOS 5)",新的图标文件不起作用.
最后一件事,当您更改按钮上的图标时,它会弹出一个警告窗口,显示"您已更改"IcoTest"的图标."
//ViewController.swift
@IBAction func ico1Click(_ sender: Any) {
if UIApplication.shared.supportsAlternateIcons{
UIApplication.shared.setAlternateIconName("Icon2", completionHandler: { (error) in
print(error ?? "")
})
}else{
print("NO NO")
}
}
//Info.plist
<key>CFBundleIcons</key>
<dict>
<key>CFBundleAlternateIcons</key>
<dict>
<key>Icon1</key>
<dict>
<key>CFBundleIconFiles</key>
<array>
<string>alternater1_180x180</string>
</array>
<key>UIPrerenderedIcon</key>
<false/>
</dict>
<key>Icon2</key>
<dict>
<key>CFBundleIconFiles</key>
<array>
<string>alternater2_180x180</string>
</array>
</dict>
</dict>
</dict>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7958 次 |
| 最近记录: |