Я пытаюсь установить альтернативные иконки для моего приложения в iOS 10.3
, но каждый раз, когда я называю метод Xcode возвращается:Установка альтернативного App Icon возвращает ошибку 3072: «Операция была отменена» в прошивкой 10,3
Error Domain = NSCocoaErrorDomain Code = 3072 «Операция была отменена».
Я использую @KlimczakM «S ответ от this почты, чтобы установить значок (specifyIcon
метода называется ниже), но я использую свой собственный метод для загрузки предпочтительной иконки из настроек:
let iconSetting = userDefaults.string(forKey: "appIconSetting")
print("The icon setting is: \(iconSetting ?? "error getting appIconSetting.")")
switch iconSetting! {
case "white":
specifyIcon(nil)
case "dark":
specifyIcon("dark")
case "text":
specifyIcon("text")
case "textdark":
specifyIcon("textdark")
case "rainbow":
specifyIcon("rainbow")
default:
specifyIcon(nil)
print("ERROR setting icon.")
}
func specifyIcon(_ icon: String?) {
//(@KlimczakM's answer)
}
В мой Info.plist
У меня есть пять икон; white
, dark
, rainbow
, text
и textdark
:
<key>CFBundleIcons</key>
<dict>
<key>CFBundleAlternateIcons</key>
<dict>
<key>white</key>
<dict>
<key>CFBundleIconFiles</key>
<array>
<string>ic_white</string>
</array>
<key>UIPrerenderedIcon</key>
<false/>
</dict>
<key>dark</key>
<dict>
<key>CFBundleIconFiles</key>
<array>
<string>ic_dark</string>
</array>
<key>UIPrerenderedIcon</key>
<false/>
</dict>
<key>rainbow</key>
<dict>
<key>CFBundleIconFiles</key>
<array>
<string>rainbow</string>
</array>
<key>UIPrerenderedIcon</key>
<false/>
</dict>
<key>text</key>
<dict>
<key>CFBundleIconFiles</key>
<array>
<string>ic_text</string>
</array>
<key>UIPrerenderedIcon</key>
<false/>
</dict>
<key>textdark</key>
<dict>
<key>CFBundleIconFiles</key>
<array>
<string>ic_textdark</string>
</array>
<key>UIPrerenderedIcon</key>
<false/>
</dict>
</dict>
<key>CFBundlePrimaryIcon</key>
<dict>
<key>CFBundleIconFiles</key>
<array>
<string>ic_white</string>
</array>
</dict>
</dict>
Все эти иконки содержатся в PNG файлов в папке под названием «ресурсы» в моем приложении пачке.
Как исправить эту проблему?
Это работало отлично для меня! Благодаря тонну! – Wilsonator5000
Без проблем, спасибо вам. – flyingBear
@flyingBear вы нашли причину этой проблемы? Я имею в виду, почему он не работает без задержки? – user3752049