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

Sharing data between iOS apps

Sharing data between iOS apps

Talk at TDC 2016 about approaches to share data between multiple targets and applications on Apple's platform. Including techniques to create extensions as: Today Extensions, Keyboard Extensions and new extensions added to iOS10.

Diego Chohfi

July 05, 2016
Tweet

More Decks by Diego Chohfi

Other Decks in Programming

Transcript

  1. Nubank 4 • Maio de 2013 • Investidores de peso

    • Fila de espera gigantesca • Atendimento++ • Tudo pelo aplicativo • Cresceu
  2. 7 • Comunicação entre apps limitada • Integração com sistema

    mais limitada ainda Apps para iOS eram teoricamente simples
  3. 9 • Teclado • Controle de armazenamento • Home screen

    customizável • Aplicativos sem integração Limitações da plataforma
  4. 10 App Extensions Solução da Apple para os problemas Preencher

    gaps da plataforma e aumentar as funcionalidades sem comprometer segurança e usabilidade
  5. 12 Photo editing App Extensions: a partir do iOS8 diversas

    funcionalidades adicionadas para a plataforma
  6. 14 Today extension App Extensions: a partir do iOS8 diversas

    funcionalidades adicionadas para a plataforma
  7. Customizando o comportamento padrão de uma extension 21 • Bundle

    display name • NSExtensionMainStoryboard • NSExtensionPrincipalClass https://developer.apple.com/library/ios/documentation/General/Reference/ InfoPlistKeyReference/Articles/SystemExtensionKeys.html com.apple.widget-extension
  8. Cuidados com o ciclo de vida de um widget 28

    É parecido com uma UIViewController mas é diferente :( NS_EXTENSION_UNAVAILABLE_IOS
  9. 29

  10. 32

  11. 35 • Pode compartilhar informações entre diversos targets • Não

    está atrelado a apenas uma aplicação Keychain
  12. 43 E o que não é sensível? fica onde? Formas

    de compartilhar dados entre aplicações
  13. Tipos de frameworks 58 Dynamic Static • Pode conter assets

    • Apenas após iOS8 • Linkado em tempo de execução • Mais rápido para compilar e carregar • Assets apenas com bundle • Suporta versões anteriores ao iOS8 • Precisa recompilar o target principal a cada mudança https://pewpewthespells.com/blog/static_and_dynamic_libraries.html
  14. Tipos de frameworks 66 O que podemos incluir num Framework?

    • Modelos • Requests • Armazenamento • Classes utilitárias • Categories
  15. O que vimos até agora? 67 Como criar uma extension

    Como compartilhar keychain App groups Framework para classes compartilhadas Single responsibility principle