2014-10-08 3 views
9

Ich habe die Dokumentation gelesen und verstehe, dass mit Handoff ich Daten zwischen einer bestimmten Website und App austauschen kann.Wie macht man eine Native App zur Web Browser Handoff?

Ich habe eine kuratierte Liste von Elementen aus verschiedenen RSS-Feeds, die alle Links zu verschiedenen Websites zeigen. Ich möchte dem Benutzer die Möglichkeit geben, den Link für einen Gegenstand (wie einen "Mehr" Knopf) in Safari auf ihrem Mac statt auf Safari auf ihrem iPhone zu öffnen.

Da alle Links aus verschiedenen Domänen stammen, gelten Zertifikate nicht wirklich. Ist es möglich, Safari auf einem Mac mit einer bestimmten URL von einer iOS App mit Handoff zu öffnen? Ich konnte aus der Dokumentation nicht wirklich verstehen, ob das eine Möglichkeit war oder nicht.

+0

Ich hatte Probleme, dieser Beitrag löste sie: http://StackOverflow.com/A/25130258/1633251 –

Antwort

11

Erstellen Sie ein NSUserActivity-Objekt, und geben Sie die webPageURL-Eigenschaft an. Verwenden Sie einen activityType, der für Ihre App spezifisch ist. Wenn es auf dem Mac keine App gibt, die diesen speziellen activityType unterstützt, wird Safari sie übernehmen.

NSUserActivity* myActivity = [[NSUserActivity alloc] 
        initWithActivityType: @"com.company.acme.myapp"]; 

myActivity.webpageURL = [NSURL URLWithString:@"http://www.google.co.uk"]; 

ich nach dem docs für NSUSerActivity.webPageURL:

Wenn keine geeignete Anwendung auf einem Wiederaufnahme-Gerät installiert ist und die webpageURL Eigenschaft festgelegt ist, wird die angegebene Webseite geladen und die Benutzeraktivität wird in einem Webbrowser fortgesetzt.

Beide Strömungen (App-to-Browser und Browser-to-App) werden bei https://developer.apple.com/library/prerelease/iOS/documentation/UserExperience/Conceptual/Handoff/AdoptingHandoff/AdoptingHandoff.html

dokumentiert Ihre Frage kommt unter "native App-to-Web-Browser Handoff".