Как прикрепить целевой идентификатор контента к элементу ярлыка в Info.plist? - PullRequest
1 голос
/ 05 октября 2019

Если ваше приложение поддерживает сцены, то, когда пользователь долго нажимает значок вашего приложения в Springboard и нажимает на один из элементов вашего контекстного меню, этот метод вызывается в вашем делегате сцены:

  • windowScene(_:performActionFor:completionHandler:)

Но если ваше приложение также поддерживает несколько окон, среде выполнения нужен способ узнать , какой делегат сцены окна вызывает.

Чтобы ответить на этот вопрос,activationConditions вашего UIScene должен быть установлен в объект UISceneActivationConditions, чьи canActivateForTargetContentIdentifierPredicate и prefersToActivateForTargetContentIdentifierPredicate соответствующие предикаты указывают. Рассматриваемый targetContentIdentifier является свойством UIApplicationShortcutItem;это просто строка, такая как "myShortcutIdentifier".

* Предикат self равен входящей targetContentIdentifier строке, поэтому предикат будет выглядеть примерно так:

let pred = NSPredicate(format: "self == 'myShortcutIdentifier'")

Пока все хорошо (как объяснено в https://developer.apple.com/videos/play/wwdc2019/259/). Но как прикрепить целевой идентификатор контента к статическому UIApplicationShortcutItem, определенному в Info.plist ?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...