Есть ли способ создать URL-карту vCard с описанием под ней и поделиться ею с помощью swift 4? ... iOS Карты делают это, разделяя отмеченное местоположение - PullRequest
0 голосов
/ 16 марта 2020

Я пытаюсь поделиться местоположением через vCard следующим образом:

var vCardString = [
    "BEGIN:VCARD",
    "VERSION:4.0",
    "N:;Shared Location;;;",
    "FN:Shared Location",
    "item1.URL:http://maps.apple.com/?ll=\(coordinate.latitude),\(coordinate.longitude)",
    "item1.X-ABLabel:map url",
    "END:VCARD"
    ].joined(separator: "\n")

let myData = vCardString.data(using: .utf8)! as NSData
var items = [Any]()
let vCardActivity = NSItemProvider(item: myData!, typeIdentifier: kUTTypeVCard as String)
items.append(vCardActivity)
let activityViewController = UIActivityViewController(activityItems: items, applicationActivities: nil)
present(activityViewController, animated:true, completion: nil)

Это на самом деле работает, но я не могу добавить описание под vCard ...

I есть это

Я ищу это

Я пытался добавить еще один элемент:

var items = [Any]()
let vCardActivity = NSItemProvider(item: myData!, typeIdentifier: kUTTypeVCard as String)
items.append(vCardActivity)
let myTitle = "This is my title"
items.append(myTitle)
let activityViewController = UIActivityViewController(activityItems: items, applicationActivities: nil)
present(activityViewController, animated:true, completion: nil)

Но это только показывает vCard

Большое спасибо

1 Ответ

0 голосов
/ 17 марта 2020

Что если вы добавите адресное поле на VCard?

Как это:

let vCardString = [
        "BEGIN:VCARD",
        "VERSION:4.0",
        "N:;Shared Location;;;",
        "FN:Shared Location",
        "ADR;TYPE=HOME;LABEL=42 Plantation St. Baytown, LA 30314 United States of America:;;42 Plantation St.;Baytown;LA;30314;United States of America",
        "item1.URL:http://maps.apple.com/?ll=25.686613,-100.316116",
        "item1.X-ABLabel:map url",
        "END:VCARD"
        ].joined(separator: "\n")

Вы получите что-то вроде этого:

enter image description here

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