Wie teile ich meinen aktuellen Standort mit UIActivityViewController?

8

Ich weiß, dass ich Dinge wie Text, URL, Bilder zu UIActivityViewController hinzufügen kann, aber wie ich meinen aktuellen Standort mit einem Miniaturbild meines Standortes wie im unten gezeigten Tweet hinzufügen kann? Mit anderen Worten, wie teilt man Koordinaten "Breite, Länge" in UIActivityViewController?

Danke

    
4mahmoud 19.11.2013, 06:35
quelle

6 Antworten

7

Ich habe ein vollständiges Beispiel für Code und alle wichtigen Klassen / Methoden, um dies zu tun. Ich weiß, die Antwort ist sehr spät, aber das könnte jemandem in der Zukunft helfen:

%Vor%     
jmercouris 10.02.2014 05:08
quelle
3

Ich habe eine schnelle Alternative dazu erstellt, die eine vCard-Datei im Caches-Verzeichnis speichert, das Sie auschecken können: Ссылка .

Die vCard-Struktur ähnelt der obigen Antwort von whoKnows.

%Vor%     
naturaln0va 04.02.2016 19:35
quelle
1

Um einen Ort wie diesen zu teilen, musst du eine vcf-Datei für diesen Ort erstellen ... Ich habe gerade den ganzen Tag damit verbracht, das gleiche zu tun und Informationen hier und da zu sammeln Dateiname wie "address you share.loc.vcf"

Sie müssen im Prinzip den aktuellen Standort mit dem CLLocationManager abrufen und dann mit einem CLGeocoder die Adresse von dem Standort abrufen, den Sie mit dem Standortmanager abgerufen haben.

Der CLGeocoder erhält eine CLPlacemark, die Sie zu einem MKPlacemark machen können.

Sie verwenden das dort gespeicherte addressDictionary

Mit dieser Information können Sie eine ABRecordRef mit ABPersonCreate erstellen, alle Daten für diese Position dort speichern und dann die vcd-Daten mit ABPersonCreateVCardRepresentationWithPeople

abrufen

Sie müssen auch eine Karten-URL hinzufügen, teilen Sie einfach einen Ort mit sich selbst aus maps.app und schauen Sie in die .vcf für die URL-Struktur ...

wandelt diese Daten in einen NSString um und speichert sie in einer Datei.

Erstellen Sie eine NSURL für diese Datei und teilen Sie sie mit dem UIActivityViewController ...

Ziemlich langweilige Arbeit, aber es funktioniert definitiv großartig für mich ...

    
Muvimotv 30.11.2013 02:28
quelle
1

Die anderen beiden Antworten verwenden das komplexe AddressBook-Framework zum Erstellen einer vCard. Es ist einfacher, es so zu machen:

%Vor%

Speichern Sie es dann in einer Datei, holen Sie die NSURL dieser Datei und teilen Sie sie mit UIActivityViewController, wie in artillery129's Antwort gezeigt.

    
whoKnows 11.10.2015 17:52
quelle
1

Meine Variante in Swift 2

%Vor%     
Alexander 24.10.2015 11:44
quelle
0

Ich habe @ naturalnovas Antwort auf Swift 3 aktualisiert:
Ссылка

Kopieren Sie einfach & amp; Paste irgendwo und benutze es so:

%Vor%     
ElegyD 16.05.2017 13:44
quelle

Tags und Links