Artikel Spuren von XPC in iOS 6: Interprozess Kommunikation auf dem iPhone – Ein Beispiel
Facebook
Twitter
Kommentieren (17)

Spuren von XPC in iOS 6: Interprozess Kommunikation auf dem iPhone – Ein Beispiel

17 Kommentare

Eine halbe Stunde freie Zeit, gute Englischkenntnisse und Spass am Programmieren vorausgesetzt, empfehlen wir die Lektüre des Artikels “Remote View Controllers in iOS 6” von Ole Begemann. iOS-Entwickler und verantwortlich für die App “Pictue Effects” . Begemann hat einen Blick unter die Haube des aktuellen iPhone-Betriebssystems geworfen und dabei eine bislang nicht dokumentierte Änderung der Mail-Darstellung gefunden, die den Beginn weitreichenden Änderungen in Apples mobilem Betriebssystem anzudeuten scheint. So blendet iOS 6 in all jenen Anwendungen, die ihre Inhalte per eMail teilen können, nicht mehr nur einen “View” ein, der das Verfassen neuer Mails ermöglicht, sondern startet im Hintergrund eine eigene Applikation – die MailCompositionService.app – die sich um die zu erstellende eMail kümmert, das Verfassen und Versenden übernimmt, und anschließend wieder deaktiviert wird.

Was auf den ersten Blick wenig spannend klingt, darf als sachtes Herantasten Apples, an eine noch immer schmerzlich vermisste Lösung zur Interprozess-Kommunikation gewertet werden. Ähnliche Konzepte werden von OS X seit Lion aktiv genutzt (Stichwort: XPC) und sorgen dafür, dass Sandbox-Applikationen, die in den Ordnern anderer Apps nichts verloren haben, sich mit kleinen Hilfs-Prozessen gegenseitig unter die Arme greifen können.

Ein Beispiel: Setzt Apple die Interprozess-Kommunikation auf dem iPhone unter iOS 7 um, könnten ausgewählte Anwendungen eigene Hilfsprozesse mitbringen, die von der momentan aktiven App nachzuladen sind.

Stellen wir uns die Twitter-Anwendung unter iOS 7 vor. Ihr habt ein Bild, das in eurem Twitter-Stream erscheinen soll, wollt den Schnappschuss vor seiner Veröffentlichung aber noch mit Camera+ nachbearbeiten. Unter iOS 6 müsst ihr Twitter verlassen, die Camera+ Applikation öffnen, das Bild bearbeiten, speichern und wieder zurück in die Twitter-App hüpfen, ehe ihr das Foto der Welt präsentieren könnt.

Die XPC-These, vorausgesetzt Apple setzt Begemanns Annahmen um, simplifiziert den gleichen Arbeitsablauf unter iOS 7 erheblich. Mit dem nächsten iPhone Betriebssystem könnte Camera+ einen Hilf-Prozess im App-Bundle mitbringen, nennen wir diesen “CameraPlusEdit.app”, der von Twitter gestartet werden kann, sobald ihr ein Bild bearbeiten wollt. So wie sich jetzt die Formulare zum Erstellen neuer Mails über der aktiven App ausrollen, könnte Camera+ bald seinen Foto-Editor einblenden, euch das Bild bearbeiten lassen und das Ergebnis (ohne App-Wechsel) an Twitter übergeben.

Der Hilfs-Prozess “CameraPlusEdit.app” würde sich während der Erst-Installation von Camera+ einmalig beim Betriebssystem registrieren und könnte anschließend von alle Anwendungen in denen Fotos eine Rolle spielen, gestartet und integriert werden.

How could this work? Apple could ask developers who want to provide a sharing UI to other apps to include a second executable in their app bundle. This executable would be an XPC service that looks a lot like the MailCompositionService.app we analyzed above. Its main component would be a stand-alone view controller that was able to communicate via XPC and implemented some standard Apple-defined protocols named something like UISharingRemoteHost and UISharingRemoteService. Apple’s existing UIActivityViewController would then maintain a list of registered sharing services and present these options to the user.

Ein Feature das überfällig ist. Danke Tim.

Diskussion 17 Kommentare.
Dieser Unterhaltung fehlt Deine Stimme.
    • Das Verfahren scheint aber jetzt auch schon mit anderen Apps zu funktionieren. Ich gehe z.B. mit der Dateiverwaltung ‘iUnarchive’ in ein DropBox-Verzeichnis und wähle dort ein Foto aus, dieses wird dadurch in den App-Cache von iUnarchive geladen. Dann kann ich in iUnarchive mittels [Öffnen in...] das Bild in die Fotobearbeitungs-App ‘Photogene’ laden und nachbearbeiten, schneiden, scalieren, usw…, und direkt von dort aus wieder zur DropBox exportieren. Und ich habe dabei direkt keiner der iOS-System-Apps verwendet ;-)

      — Kartoffelsack
      • Dein Beispiel simuliert XPC-Verhalten, aber es kopiert ständig Daten und verlangt von den Hilfsapps auch Exportfunktionen. Da ein iPhone in der Regel genug Arbeitsspeicher hat, Festspeicher für ein ca. 4MB großes Bild nicht zu langsam und der Prozessor relativ schnell ist, wirkt sich der Flaschenhals ständiges Kopieren nicht wirklich merklich aus. Aber XPC ist es nicht.

        — Dirk
    • Mega ja!! Weil man auch nicht nachdenkt was man hochladen möchte und es ja auch somit nicht vorher mal bearbeiten kann ^^ ja ja die Bequemlichkeit :)

      — Sascha
    • Cooler wäre, wenn eine App einer anderen was mitteilen könnte.
      Zum Beispiel öffne dich und Fülle ein in dir existierendes Formular schon mal so aus.

      — Sub
      • Sowas geht schon jetzt: Jede App kann sich von anderen starten und dabei Daten übergeben lassen. Das muß jede App dann nur dokumentieren und anderen Apps müssen das dann implementieren.

        Beliebte Apps, wie Dropbox usw. könnten sowas sicher anbieten, wenn die Entwickler denn Interesse daran hätten.

        — Thomas Tempelmann
  1. Das wäre ja wirklich mal ein Fortschritt in iOS. Keine Innovation, aber für iOS ein Fortschritt. Ich als Entwickler würde mich freuen. Der Endanwender wird sich allerdings erst dann freuen, wenn diese Funktion dann auch mal weitreichender eingesetzt wird und somit das Handling einfacher wird.

    — Cromax
  2. Spontan würde ich vermuten, dass die Umsetzung von XPC iOS ein wenig unsicherer werden ließen. Das müsste vorher noch geprüft werden. Wer stellt sicher dass der Hilfsprozess sicher ist?

    — Holfo
  3. Was ebenso noch fehlt, ist die Funktion, dass man zB wenn man in den Fotos ist, auf das Zeichen zum Sharen, Hintergrundbild etc geht und dann da zB Whats App oder DropBox steht. Man da drauf geht, sich Whats App öffnet und man nur noch den Kontakt auswählen muss um es dann zu schicken. Habe das bei dem S3 einer Freundin gesehen und muss sagen, das würde mir bei  auch gefallen ;)

    coankid
      • Großer knackpunkt bei dieser lösung: wer behält dann die kontrolle darüber, welche prozesse andere apps sich in einer app auslösen lassen? Oder gibt’s dann ein dropdown oder rollout menü mit allen zur auswahl stehenden, auf dem gerät installierten apps? Das können ja schon einige sein, wie z.b. Bei der fotobearbeitung….
        Schwieriger wird’s dann noch, wenn mehrere prozesse wie im beispiel zusammen treffen, wie z.b. Aus twitter ein foto schießen, dieses bearbeiten, speichern und dann posten oder als email verschicken….
        Ich glaube, es müsste insgesamt ein anderer ansatz gewählt werden, ähnlich dem von windows, bei dem dateiendungen angeben oder darauf verweisen, mit welchem programm ( odet dann eben den apps) sich diese bearbeiten/öffnen lassen. so könnte man zumindest dann die anzeige der zur wahl stehenden applikationen “in einer app” reduzieren. Es gibt ja auch immer die standarfunktionen wie mailen, drucken usw.

        — Sabotage
      • In den Einstellungen eine Option in der man anzeigen kann, was alles beim Fotosharen angezeigt werden soll.

        — Sub
      • Ich würde eine extra Einstellung machen, in der man festlegen kann, welche Apps dann in dem Auswahlmenü auftauchen sollen und welche nicht. Ähnlich der Einstellungsmöglichkeiten beim Datenschutz

        coankid
      • Wenn Apple dies einführt, dann weil es sicher implementiert wurde und es sicherlich auch Beschränkungen in der XPC-Implementation von iOS ist, wodurch das XPC nicht ausgenutzt werden kann. Apple ist nun einmal so (was ich hoch anerkenne) und will nicht NFC implementieren, was leicht wäre, aber laut Apple zu unsicher ist.

        — Dirk
  4. DAS wäre doch wirklich mal eine tolle neue Funktion in iOS. Zwar nichts, was man dem Nutzer unmittelbar, schick und bunt verkaufen kann, aber doch ein echter Pluspunkt. Wenn das dann erst einmal genügend Apps unterstützten wäre das bei der täglichen Benutzung vermutlich viel hilfreicher als z.B. Siri…

    — Dextro

Hinterlasse eine Antwort

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *

Du kannst folgende HTML-Tags benutzen: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Der iPhone-Ticker ist Deutschlands führendes Online-Magazin rund um das iPhone. Seit 2007 informieren wir täglich
über das Apple-Telefon und damit in Verbindung stehende Soft- und Hardwareprodukte.
Insgesamt haben wir 13659 Artikel in den vergangenen 2518 Tagen veröffentlicht. Und es werden täglich mehr.


ifun - Love it or leave it   ·   Copyright © 2014 aketo GmbH - Alle Rechte vorbehalten   ·   Impressum   ·   Auf dieser Seite werben   ·   RSS