Невозможно установить альтернативные значки приложений в iOS 11

Я не могу изменить значок приложения на альтернативный значок в iOS 11 (Xcode 9, бета-версия 3).

Однако он отлично работает в iOS 10.3 (со следующим кодом):

    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
    }

Мой plist настроен так:

введите описание изображения здесь

Я нахожу это странным, потому что я использовал другие приложения, которые используют альтернативные значки приложений в iOS 11. Есть ли известная ошибка с этим в iOS 11?

Примечание. Если вам интересно, почему я использую задержку, см. этот пост


person vikzilla    schedule 18.07.2017    source источник
comment
Вы заранее проверили supportsAlternateIcons?   -  person BennX    schedule 18.07.2017
comment
@BennX Как так? Я думал, что это свойство только для чтения, которое верно, если указаны значения plist (как показано на рисунке)   -  person vikzilla    schedule 18.07.2017


Ответы (2)


Я решил это, реализовав его в ViewController, а не в appDidFinishLaunchingWithOptions AppDelegate.

Тем не менее, необходимо запустить его с задержкой, чтобы он работал, как указывают связанные вопросы/ответы.

person vikzilla    schedule 22.08.2017

Если это не поможет, отключите активы значков приложений. Помогает мне. Я предполагаю, что есть некоторый конфликт между активами и значками plist.

person Artem V    schedule 06.12.2017