Entwickler-Features

iCab Mobile kann auch von anderen Apps heraus aufgerufen werden, um Webseiten gezielt in iCab Mobile zu öffnen, oder auch gewisse Aufgaben erledigen zu lassen.

iCab starten

Apps können über die Funktion openURL() der UIApplication-Klasse das iOS veranlassen, eine URL in der App zu öffnen, die sich für das URL-Schema der URL beim System angemeldet hat. Dabei werden die Schemata http und https immer an den Standard-Browser weitergeleitet (ist iCab der Standard-Browser, öffnet dann auch iCab Mobile diese Seite). Möchte man eine Seite in iCab Mobile öffnen, ohne das iCab Mobile notwendigerweise der Standard-Browser sein muss, kann man anstatt http und https statt dessen die Schemata icabmobile und icabmobiles, sowie web und webs verwenden (d.h. statt 'https://apple.com/' öffnet man z.B. 'icabmobiles://apple.com/').

X-Callback-URL

iCab Mobile unterstützt auch das X-Callback-URL-Protokol, über welches eine App über eine speziell formatierte URL einer anderen App bestimmte Kommandos übergeben kann und ggfs. auch ein Ergebnis als URL zurückgeliefert bekommt.

Eine URL die dem X-Callback-URL-Protokoll entspricht, ist folgendermaßen aufgebaut:

[scheme]://x-callback-url/[action]?
            [action-parameters]&
            [x-callback-parameters]
Dabei ist für iCab Mobile für [scheme] der Wert x-icabmobile zu verwenden.

[action] definiert das Kommando, [action-parameters] die zum Kommando gehörigen Parameter.

Folgende Kommandos und Parameter werden von iCab unterstützt…

Aktion Erforderliche Parameter
Optionale Parameter
Beschreibung
addBookmark url=[url]
title=[title]
Speichert ein Lesezeichen mit URL [url] und Titel [title]
addQuickstarter url=[url]
title=[title]
Fügt ein Lesezeichen im Schnellstarter hinzu, mit URL [url] und Titel [title]
addReadingList url=[url]
title=[title]
Fügt einen Eintrag in der Leseliste hinzu, mit URL [url] und Titel [title]
addSearchEngine url=[url]
title=[title]
Fügt die Suchmaschine mit Namen [title] und URL [url] in die Liste der Suchmachinen hinzu. Die URL sollte dabei entweder den Platzhalter '%@' beinhalten, der bei der Suche durch den Suchbegriff ersetzt werden kann, oder erlauben, den Suchbegriff ans Ende der URL anzuhängen.
search
searchTerm=[searchTerm]
searchEngine=[searchEngine]
Startet eine Suche mit dem Suchbegriff [searchTerm] mit der Suchmaschine [searchEngine]. Fehlt letzteres, oder ist die angegebene Suchmaschine unbekannt, nutzt iCab Mobile die eingestellte Standardsuchmaschine.
fullscreen Schaltet den Vollbildmodus ein
normalmode Schaltet den Vollbildmodus aus
open url=[url]
destination=currentTab
destination=backgroundTab
destination=newTab

fullscreen=yes
fullscreen=no

Öffnet die durch [url] angegebene Webseite, wahlweise im aktuellen Tab, in einem neuen Tab im Vordergrund oder Hintergrund. Außerdem kann auch noch optional der Vollbildmodus aktiviert/deaktiviert werden. Gibt man in [url] 'quickstarter:' an, öffnet sich der Schnellstarter.
download url=[url]
filename=[filename]

referrer=[url]

Startet den Download von [url] und speichert die Datei unter dem Namen [filename] (sofern angegeben). Optional kann auch der Referrer angegeben werden.

[x-callback-parameters] definiert die Rückgabe eines Ergebnisses zur App, die die URL an iCab Mobile geschickt hatte. Erwartet die App keine Antwort, bleibt der Parameter leer. Ansonsten werden folgende Rückgabe-Parameter unterstützt:

Parameter Beschreibung
x-success=[url] Im Falle eines Erfolgs öffnet iCab die hier angegebene URL, die als URL-Schema das App-Scheme der aufrufenden App nutzen sollte
x-error=[url] Im Falle eines Fehlers öffnet iCab die hier angegebene URL, die als URL-Schema das App-Scheme der aufrufenden App nutzen sollte

Beim Aufbau der URL für das X-Callback-URL-Protokol ist zu beachten, dass Parameter wie bei URLs üblich durch '&' getrennt werden und über das 'Percent-Encoding'-Verfahren kodiert werden müssen.

Beispiele

Öffnen des Schnellstarters in einem neuen Tab:
x-icabmobile://x-callback-url/open?
            url=quickstarter:&
            destination=newTab

Öffnet die iCab-Mobile Webseite im aktuellen Tab und im Vollbildmodus:

x-icabmobile://x-callback-url/open?
            url=http://www.icab-mobile.de/&
            destination=currentTab&
            fullscreen=yes

Speichert die iCab-Mobile-Seite als Lesezeichen und meldet den Erfolg bzw. Misserfolg an die App (mit URL-Schema yourapp) zurück

x-icabmobile://x-callback-url/addBookmark?
            url=http://www.icab-mobile.de/&
            title=iCab%20Mobile%20Homepage&
            x-success=yourapp://success-handler&
            x-error=yourapp://error-hander