2017-07-18 28 views
5

Nie mogę zmienić ikony aplikacji na alternatywną ikonę w systemie iOS 11 (Xcode 9, beta 3).Nie można ustawić alternatywnych ikon aplikacji w systemie iOS 11

Jednak to działa dobrze w iOS 10.3 (z następującego kodu):

if #available(iOS 10.3, *) { 
     guard let iconName = MySingletonClass.sharedInstance.iconName() else { return } 
     delay(0.01) { 
      UIApplication.shared.setAlternateIconName(iconName, completionHandler: { (error) in 
       if let error = error { 
        print(error.localizedDescription) 
       } else { 
        print("Success!") 
       } 
      }) 
     } 
    } else { 
     // Fallback on earlier versions 
    } 

Moja plist jest utworzenie tak:

enter image description here

uważam, że to dziwne, bo korzystałem z innych aplikacji, które używają alternatywnych ikon aplikacji w iOS 11. Czy jest jakiś znany błąd w iOS 11?

Uwaga: Jeśli zastanawiasz się, dlaczego używam opóźnienie, see this post

+0

Czy sprawdziłeś z góry 'supportsAlternateIcons'? – BennX

+0

@BennX Jak to jest? Myślałem, że jest to właściwość tylko do odczytu, która jest prawdziwa, jeśli podano wartości plist (jak na zdjęciu) – vikzilla

Odpowiedz

2

Rozwiązałem to przez wdrożenie go w ViewController zamiast appDidFinishLaunchingWithOptions w AppDelegate za

nadal trzeba go uruchomić w ciągu Opóźnij, aby zadziałało, jak wskazują pokrewne pytania/odpowiedzi.

0

Jeśli to nie pomoże, wyłącz zasoby ikony aplikacji. Pomaga mi. Domyślam się, że istnieje konflikt między zasobami i ikonami plist.

Powiązane problemy