iphone-ticker.de — Alles zum iPhone. Seit 2007. 38 839 Artikel
   

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

Artikel auf Mastodon teilen.
17 Kommentare 17

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.

Dieser Artikel enthält Affiliate-Links. Wer darüber einkauft unterstützt uns mit einem Teil des unveränderten Kaufpreises. Was ist das?
26. Nov 2012 um 14:29 Uhr von Nicolas Fehler gefunden?


    Zum Absenden des Formulars muss Google reCAPTCHA geladen werden.
    Google reCAPTCHA Datenschutzerklärung

    Google reCAPTCHA laden

    17 Kommentare bisher. 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 ;-)

      • 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.

      • Ich vergaß: Und weil die Hilfsapps auch Exportfunktionen haben …

    • 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 :)

    • 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.

      • Thomas Tempelmann

        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.

  • 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.

  • 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?

  • wenn siri weiter ausgebaut werden soll, kommen sie um die realisierung einer interprozess-kommunikation wohl nicht herum.

  • 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 ;)

      • 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.

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

      • 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

      • 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.

  • 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…

  • Redet mit. Seid nett zueinander!

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

    ifun.de ist das dienstälteste europäische Onlineportal rund um Apples Lifestyle-Produkte.
    Wir informieren täglich über Aktuelles und Interessantes aus der Welt rund um iPhone, iPad, Mac und sonstige Dinge, die uns gefallen.
    Insgesamt haben wir 38839 Artikel in den vergangenen 6322 Tagen veröffentlicht. Und es werden täglich mehr.
    ifun.de — Love it or leave it   ·   Copyright © 2024 aketo GmbH   ·   Impressum   ·   Cookie Einstellungen   ·   Datenschutz   ·   Safari-Push aketo GmbH Powered by SysEleven