Próbuję ustawić alternatywne ikony dla mojej aplikacji w iOS 10.3
, ale za każdym razem zadzwonię powraca metoda Xcode:Konfiguracja alternatywna ikona aplikacji zwraca błąd 3072: „Operacja została anulowana” w iOS 10,3
Error Domain = NSCocoaErrorDomain Code = 3072 "Operacja została anulowana."
Używam @KlimczakM „s odpowiedź od this postu ustawić ikonę (metoda specifyIcon
zwany poniżej), ale używam moje własne metody, aby załadować preferowaną ikonę z ustawieniami:
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)
}
W mój Info.plist
Mam pięć ikon; white
, dark
, rainbow
, text
i 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>
Wszystkie te ikony są zawarte w plikach PNG w folderze o nazwie "zasobów" w mojej aplikacji pakietu.
Jak mogę rozwiązać ten problem?
To działało idealnie dla mnie! Dzięki za tonę! – Wilsonator5000
Nie ma problemu, dziękuję również. – flyingBear
@flyingBear znalazłeś przyczynę tego problemu? Mam na myśli, dlaczego nie działa bez opóźnienia? – user3752049