separados. Existe a possibilidade de utilizar um container compartilhado; • Podem ser criados regras para utilização da extensão; • O aplicativo e a extensão vêm e vão juntos; • Privacidade: as mesmas regras definidas pelo usuário para o aplicativo, valem para a extensão (e vice-versa). Há excessões.
Conversar com o Containing App (o app “principal”) NSUserDefaults, Core Data, abrir URL redirecionando para o containing app, web services Receber informações do Host App Através do contexto que a extensão é instanciada Executar um Javascript no Safari Você pode obter ou alterar valores de um documento. Traduzi-lo, por exemplo. Utilizar (ou não) storyboard
fazer Access a sharedApplication object, and so cannot use any of the methods on that object Use any API marked in header files with the NS_EXTENSION_UNAVAILABLE macro, or similar unavailability macro, or any API in an unavailable framework. For example, in iOS 8.0, the HealthKit framework and EventKit UI framework are unavailable to app extensions. Access the camera or microphone on an iOS device Perform long-running background tasks The specifics of this limitation vary by platform, as described in the extension point chapters in this document. (An app extension can initiate uploads or downloads using an NSURLSession object, with results of those operations reported to the containing app.) Receive data using AirDrop (An app extension can send data using AirDrop in the same way an app does: by employing the UIActivityViewController class.) Fonte: https://developer.apple.com/library/ios/documentation/General/Conceptual/ExtensibilityPG/ExtensionOverview.html
(tempo: 1h 26m) http://raywenderlich.com/store/ios-8-by-tutorials iOS 8 by Tutorials (Ray Wenderlich) http://github.com/lucasmoreira/cocoaheads-extensibility Código de demonstração http://atomicbird.com/blog/sharing-with-app-extensions “Sharing data between iOS apps and app extensions” por Tom Harrington