{"id":41026,"date":"2012-11-26T14:29:36","date_gmt":"2012-11-26T13:29:36","guid":{"rendered":"http:\/\/www.iphone-ticker.de\/?p=41026"},"modified":"2012-11-27T23:12:03","modified_gmt":"2012-11-27T22:12:03","slug":"spuren-von-xpc-in-ios-6-interprozess-kommunikation-auf-dem-iphone","status":"publish","type":"post","link":"https:\/\/www.iphone-ticker.de\/spuren-von-xpc-in-ios-6-interprozess-kommunikation-auf-dem-iphone-41026\/","title":{"rendered":"Spuren von XPC in iOS 6: Interprozess Kommunikation auf dem iPhone &#8211; Ein Beispiel"},"content":{"rendered":"<p>Eine halbe Stunde freie Zeit, gute Englischkenntnisse und Spass am Programmieren vorausgesetzt, empfehlen wir die Lekt\u00fcre des Artikels &#8222;<a href=\"http:\/\/oleb.net\/blog\/2012\/10\/remote-view-controllers-in-ios-6\/\">Remote View Controllers in iOS 6<\/a>&#8220; von Ole Begemann. iOS-Entwickler und verantwortlich f\u00fcr die App &#8222;Pictue Effects&#8220; . Begemann hat einen Blick unter die Haube des aktuellen iPhone-Betriebssystems geworfen und dabei eine bislang nicht dokumentierte \u00c4nderung der Mail-Darstellung gefunden, die den Beginn weitreichenden \u00c4nderungen in Apples mobilem Betriebssystem anzudeuten scheint. So blendet iOS 6 in all jenen Anwendungen, die ihre Inhalte per eMail teilen k\u00f6nnen, nicht mehr nur einen &#8222;View&#8220; ein, der das Verfassen neuer Mails erm\u00f6glicht, sondern startet im Hintergrund eine eigene Applikation &#8211; die MailCompositionService.app &#8211; die sich um die zu erstellende eMail k\u00fcmmert, das Verfassen und Versenden \u00fcbernimmt, und anschlie\u00dfend wieder deaktiviert wird.<\/p>\n<p>Was auf den ersten Blick wenig spannend klingt, darf als sachtes Herantasten Apples, an eine <a href=\"http:\/\/www.iphone-ticker.de\/intents-und-contracts-hoffen-auf-apples-ios-6-34021\/\">noch immer schmerzlich vermisste L\u00f6sung zur Interprozess-Kommunikation<\/a> gewertet werden. \u00c4hnliche Konzepte werden von OS X seit Lion aktiv genutzt (Stichwort: <a href=\"http:\/\/developer.apple.com\/library\/mac\/#documentation\/MacOSX\/Conceptual\/BPSystemStartup\/Chapters\/CreatingXPCServices.html#\/\/apple_ref\/doc\/uid\/10000172i-SW6-SW1\">XPC<\/a>) und sorgen daf\u00fcr, dass <a href=\"http:\/\/de.wikipedia.org\/wiki\/Sandbox\">Sandbox<\/a>-Applikationen, die in den Ordnern anderer Apps nichts verloren haben, sich mit kleinen Hilfs-Prozessen gegenseitig unter die Arme greifen k\u00f6nnen.<\/p>\n<p>Ein Beispiel: Setzt Apple die Interprozess-Kommunikation auf dem iPhone unter iOS 7 um, k\u00f6nnten ausgew\u00e4hlte Anwendungen eigene Hilfsprozesse mitbringen, die von der momentan aktiven App nachzuladen sind.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/www.iphone-ticker.de\/wp-content\/uploads\/2012\/11\/foto-bearbeiten.jpg\" alt=\"\" title=\"foto-bearbeiten\" width=\"464\" height=\"599\" class=\"aligncenter size-full wp-image-41027\" srcset=\"https:\/\/images.iphone-ticker.de\/wp-content\/uploads\/2012\/11\/foto-bearbeiten.jpg 464w, https:\/\/images.iphone-ticker.de\/wp-content\/uploads\/2012\/11\/foto-bearbeiten-232x300.jpg 232w\" sizes=\"auto, (max-width: 464px) 100vw, 464px\" \/><\/p>\n<p>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\u00f6ffentlichung aber noch <a rel=\"noindex, nofollow\" href=\"http:\/\/www.ifun.de\/app\/329670577\">mit Camera+ nachbearbeiten<\/a>. Unter iOS 6 m\u00fcsst ihr Twitter verlassen, die Camera+ Applikation \u00f6ffnen, das Bild bearbeiten, speichern und wieder zur\u00fcck in die Twitter-App h\u00fcpfen, ehe ihr das Foto der Welt pr\u00e4sentieren k\u00f6nnt.<\/p>\n<p>Die XPC-These, vorausgesetzt Apple setzt Begemanns Annahmen um, simplifiziert den gleichen Arbeitsablauf unter iOS 7 erheblich. Mit dem n\u00e4chsten iPhone Betriebssystem k\u00f6nnte Camera+ einen Hilf-Prozess im App-Bundle mitbringen, nennen wir diesen &#8222;CameraPlusEdit.app&#8220;, der von Twitter gestartet werden kann, sobald ihr ein Bild bearbeiten wollt. So wie sich jetzt die Formulare zum Erstellen neuer Mails \u00fcber der aktiven App ausrollen, k\u00f6nnte Camera+ bald seinen Foto-Editor einblenden, euch das Bild bearbeiten lassen und das Ergebnis (ohne App-Wechsel) an Twitter \u00fcbergeben.<\/p>\n<p>Der Hilfs-Prozess &#8222;CameraPlusEdit.app&#8220; w\u00fcrde sich w\u00e4hrend der Erst-Installation von Camera+ einmalig beim Betriebssystem registrieren und k\u00f6nnte anschlie\u00dfend von alle Anwendungen in denen Fotos eine Rolle spielen, gestartet und integriert werden.<\/p>\n<p><!--more--><\/p>\n<blockquote><p>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\u2019s existing UIActivityViewController would then maintain a list of registered sharing services and present these options to the user.<\/p><\/blockquote>\n<p>Ein Feature das \u00fcberf\u00e4llig ist. Danke Tim. <\/p>\n","protected":false},"excerpt":{"rendered":"<a href=\"https:\/\/www.iphone-ticker.de\/spuren-von-xpc-in-ios-6-interprozess-kommunikation-auf-dem-iphone-41026\/\"><img width=\"116\" height=\"150\" src=\"https:\/\/images.iphone-ticker.de\/wp-content\/uploads\/2012\/11\/foto-bearbeiten.jpg\" class=\"alignright tfe wp-post-image\" alt=\"\" decoding=\"async\" loading=\"lazy\" srcset=\"https:\/\/images.iphone-ticker.de\/wp-content\/uploads\/2012\/11\/foto-bearbeiten.jpg 464w, https:\/\/images.iphone-ticker.de\/wp-content\/uploads\/2012\/11\/foto-bearbeiten-232x300.jpg 232w\" sizes=\"auto, (max-width: 116px) 100vw, 116px\" \/><\/a><p>Gute Aussichten<br \/>\nSpuren von XPC in iOS 6:<br \/>\nInterprozess Kommunikation<br \/>\nauf dem iPhone &#8211; Ein Beispiel<\/p>\n","protected":false},"author":1,"featured_media":41027,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[639,746],"tags":[666,3914,3917,5661],"class_list":["post-41026","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-ios","category-topnews","tag-app-store","tag-apps","tag-entwickler","tag-ios"],"aioseo_notices":[],"rest_api_enabler":[],"_links":{"self":[{"href":"https:\/\/www.iphone-ticker.de\/apiv2\/wp\/v2\/posts\/41026","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.iphone-ticker.de\/apiv2\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.iphone-ticker.de\/apiv2\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.iphone-ticker.de\/apiv2\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.iphone-ticker.de\/apiv2\/wp\/v2\/comments?post=41026"}],"version-history":[{"count":6,"href":"https:\/\/www.iphone-ticker.de\/apiv2\/wp\/v2\/posts\/41026\/revisions"}],"predecessor-version":[{"id":41100,"href":"https:\/\/www.iphone-ticker.de\/apiv2\/wp\/v2\/posts\/41026\/revisions\/41100"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.iphone-ticker.de\/apiv2\/wp\/v2\/media\/41027"}],"wp:attachment":[{"href":"https:\/\/www.iphone-ticker.de\/apiv2\/wp\/v2\/media?parent=41026"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.iphone-ticker.de\/apiv2\/wp\/v2\/categories?post=41026"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.iphone-ticker.de\/apiv2\/wp\/v2\/tags?post=41026"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}