wake-up-neo.com

Wie registriere ich ein benutzerdefiniertes App-Eröffnungs-URL-Schema bei Xcode 4?

Xcode4 fragt nach einer Vielzahl von Argumenten, um dies zu ermöglichen:

NSString *stringURL = @"twitterriffic://";
NSURL *url = [NSURL URLWithString:stringURL];
[[UIApplication sharedApplication] openURL:url];

Xcode 4 Info.plist editor

Wofür sind all diese Eigenschaften? Warum ein Bild? Muss ich die App-ID hier wiederholen? Welche Rolle soll ich wählen, wenn jemand diese URL aufrufen kann, um meine App zu öffnen? Und wozu dienen diese zusätzlichen URL-Eigenschaften?

Ich habe keine Xcode4-bezogene Anleitung zum Registrieren eines solchen URL-Schemas bei Xcode 4 gefunden.

72
openfrog

Edit your AppName-Info.plist file

  • Öffne "Unterstützende Dateien" (Ordner) auf der linken Seite und klicke auf die "YourAppName-Info.plist"
  • Wählen Sie eine Zeile wie "Bundle Creator OS Type Code" und bewegen Sie den Mauszeiger über die Zeile und klicken Sie auf das (+) Symbol
  • Dadurch wird eine neue Zeile erstellt und "URL-Typen" eingegeben.
  • Klicken Sie auf das Feld links und sehen Sie Artikel 0. Sie werden den Wert in Artikel 0 wie gezeigt in "URL-Schemata" umbenennen
  • Bearbeiten Sie dann das Feld in Punkt 0 und geben Sie Ihr Protokoll ein. Ich habe "goomzee" wie gezeigt eingegeben

Wenn ich nun diese App auf meinem Simulator installiere und Safari öffne und "goomzee: //" in die Adressleiste eingebe, wird meine App gestartet.

97
Mike S.

Ja, das Zeug ist nicht einfach, oder?

Ich habe die Schritte beschrieben, die zum Registrieren einer benutzerdefinierten URL erforderlich sind: Benutzerdefinierte URLs

Grundsätzlich ist es jedoch der Schlüssel, einen "URL Types" -Wert in Ihrer .plist-Datei einzurichten. So sieht es in XCode 5 aus:

URL types

In diesem Beispiel habe ich das Präfix [~ # ~] mkb [~ # ~] registriert, daher kann ich jetzt diesen neuen Typ von verwenden URLs in Hyperlinks auf Webseiten und E-Mails (wenn ich eine E-Mail in der iPad Mail-App lese):

Mail app

Wenn ein Benutzer auf einen dieser Links tippt, wird meine iPad-App gestartet und ich kann auf die vollständige URL-Zeichenfolge zugreifen, um die anderen Parameter aus der URL zu extrahieren (z. B. "DocumentNumber = 100").

Das einzige Problem ist, dass ich noch nicht herausgefunden habe, wie man test ob ein Benutzer eine iPad-App installiert hat, die ein bestimmtes Präfix erkennt.

Wenn sie haben nicht und auf einen dieser MKB: // -Links auf ihrem iPad tippen, wird eine hässliche Fehlermeldung angezeigt:

Nope

26
Mike Gledhill

Sie können Ihre benutzerdefinierte URL weiterhin registrieren, indem Sie die info.plist-Datei Ihrer App bearbeiten (wie in einem Ihrer vorherigen Fragen ). Der neue Editor in Xcode 4 soll das Hinzufügen der Einträge vereinfachen - alles, was er tut, ist, die gleichen Änderungen an info.plist vorzunehmen, die Sie manuell vornehmen würden. Wenn Sie den neuen Editor verwenden möchten, müssen Sie nur die Felder "Kennung" und "URL-Schema" ausfüllen. Sie benötigen kein Bild, Symbol oder zusätzliche URL-Eigenschaften.

Die anderen Eigenschaften (Symbol usw.) sind nicht gut dokumentiert, scheinen jedoch nur unter Mac OS X anwendbar zu sein und können im Dialogfeld "Informationen" des Finders verwendet werden, um anzuzeigen, welche Arten von URLs eine bestimmte App öffnen kann. Schauen Sie sich beispielsweise Launch Services Programming Guide an.

17

Was Sie in diesem Editor ändern, spiegelt sich auch in der Info-Plist-Datei Ihres Projekts wider. Es hat die Form ProjectName - Info.plist. Hoffentlich hilft das.

0
Ying