当我构建并部署到iPhone时,我可以很好地调用UIApplication.shared.setAlternateIconName.当我在iPad Pro上运行时,出现以下错误:
Error Domain=NSCocoaErrorDomain Code=4 “The file doesn’t exist.” UserInfo={NSUnderlyingError=0x1c0857700 {Error Domain=LSApplicationWorkspaceErrorDomain Code=-105 “iconName not found in CFBundleAlternateIcons entry” UserInfo={NSLocalizedDescription=iconName not found in CFBundleAlternateIcons entry}}}
使用以下代码:
UIApplication.shared.setAlternateIconName(icons[indexPath.row].name) { err in if let err = err { print("Woops ! \(String(describing: err))") } }
我有标准,2x和3x版本的每个图标,范围从60×60,120×120和180×180.这些图像松散地放在项目中,而不是放在资产包中.它们在我的Info.plist中引用.
到底是怎么回事?为什么iPhone和iPad之间存在差异?
解决方法
您还必须为ipad分辨率添加图像.他们的名字必须是像icon@2x~ipad.png.那~~ ipad是不同的
ipad的尺寸是
iPad Pro 167px × 167px (83.5pt × 83.5pt @2x) iPad,iPad mini 152px × 152px (76pt × 76pt @2x)