iOS 14 getAllVoiceShortcuts возвращает ошибки LaunchServices

#ios14 #sirishortcuts

#ios14 #sirishortcuts

Вопрос:

В совершенно пустом проекте Xcode я просто вызываю:

 class ViewController: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()

        INVoiceShortcutCenter.shared.getAllVoiceShortcuts { (shortcuts, error) in
        }
    }
}
  

Сбой с этим журналом:

 [default] LaunchServices: store (null) or url (null) was nil: Error Domain=NSOSStatusErrorDomain Code=-54 "process may not map database" UserInfo={NSDebugDescription=process may not map database, _LSLine=271, _LSFunction=-[_LSDReadClient getServerStoreWithCompletionHandler:]}
  

Это повторяется 20 раз, пока не закончится.

В приложение добавлена функция Siri. Происходит только на физическом устройстве в iOS 14 GM и Xcode 12 GM. Любая помощь была бы высоко оценена.

Комментарии:

1. Я также получаю эту ошибку с 10 повторными попытками при загрузке INUIAddVoiceShortcutButton , так что это похоже на проблему с SiriKit в целом, но я пока не нашел хорошего решения.

Ответ №1:

У меня такая же проблема (как вы сказали, только на физическом устройстве), но у меня 10 попыток, а не 20. До iOS 14.0 у меня не было ошибок, так что, возможно, это какая-то ошибка в SiriKit. Я заметил, что это происходит только один раз — когда вы вызываете это в следующий раз, ошибок нет. Итак, на данный момент я добавил этот вызов в AppDelegate — при запуске приложения, потому что эти ошибки на секунду замораживают пользовательский интерфейс.