Я пытаюсь создать расширение Action для моего приложения, где пользователь может добавить свое текущее местоположение вместе с некоторыми другими данными. После отладки местоположения с помощью приложения Apple Maps я отладил расширение и обнаружил, что Maps отправляет четырем поставщикам следующее содержимое:
- визитная карточка выбранного местоположения
- URL-адрес Apple Maps для выбранного местоположения
- простой текст, который является названием выбранного местоположения
- a
MKMapItem
Все содержимое выше в типе NSSecureCoding
. Принудительное приведение к Data
и инициализация String
с этими данными для vCard, к String
для простого текста и URL завершаются успешно из NSSecureCoding, но я не нашел способа создать объект MKMapItem
из полученных данных. .
Вот что я попробовал:
provider.loadItem(forTypeIdentifier: "com.apple.mapkit.map-item", options: nil) { (content, _) in
let item = content as! MKMapItem
}
но это не удалось. Возможно, мне сначала нужно привести его к Data
, но я не смог найти инициализатор для MKMapItem
с Data