Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Extensibility no iOS 8

Sponsored · SiteGround - Reliable hosting with speed, security, and support you can count on. →

Extensibility no iOS 8

Conteúdo: extensões no iOS 8.
Palestra apresentada na 5a CocoaHeads Campinas.

Avatar for Lucas Santos

Lucas Santos

February 27, 2015

Other Decks in Programming

Transcript

  1. Extensibility o que é? Extensões é uma maneira de você

    extender o sistema e outros aplicativos. É uma forma de fornecer um pouco do seu aplicativo. Também está disponível no OS X
  2. Como funciona? • O aplicativo e a extensão possuem containers

    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.
  3. Como funciona? actions • Ajudar o usuário a visualizar o

    documento atual de uma maneira diferente • Recebe um conteúdo somente se explicitamente provido pelo host app • Pode ou não conter uma UI
  4. O que posso (ou não) fazer? o que posso fazer

    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
  5. O que posso (ou não) fazer? o que não posso

    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
  6. Bing Search exemplos Bing Search – images, news, videos, and

    trends on the web Microsoft O que faz: traduz páginas no Safari
  7. Dropbox, PDF Converter exemplos Dropbox Dropbox O que faz: permite

    enviar qualquer arquivo pra nuvem por qualquer aplicativo PDF Converter Readdle O que faz: permite converter uma página em PDF
  8. Recursos https://developer.apple.com/library/ios/documentation/General/Conceptual/ExtensibilityPG/ExtensionOverview.html Documentação da Apple http://apple.com/apple-events/june-2014/ https://developer.apple.com/videos/wwdc/2014/ Keynote WWDC 14

    (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