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

Quoi de neuf dans iOS 10.3 ?

Quoi de neuf dans iOS 10.3 ?

Présentation sur les nouveautés d'iOS 10.3 aux Cocoaheads.

Avatar for Julien Quéré

Julien Quéré

February 16, 2017
Tweet

More Decks by Julien Quéré

Other Decks in Technology

Transcript

  1. ICÔNES ALTERNATIVES QUELQUES LIMITATIONS ▸ Icônes statiques et définies à

    l’avance ▸ Contrôlées lors de l’AppStore review ▸ L’utilisateur est alerté
  2. ICÔNES ALTERNATIVES INFO.PLIST <key>CFBundleIcons</key> <dict> <key>CFBundleAlternateIcons</key> <dict> <key>de</key> <dict> <key>CFBundleIconFiles</key>

    <array> <string>ic_de</string> </array> <key>UIPrerenderedIcon</key> <false/> </dict> <key>fr</key> <dict> <key>CFBundleIconFiles</key> <array> <string>ic_fr</string> </array> <key>UIPrerenderedIcon</key> <false/> </dict> <key>it</key> <dict> <key>CFBundleIconFiles</key> <array> <string>ic_it</string> </array> <key>UIPrerenderedIcon</key> <false/> </dict> </dict> <key>CFBundlePrimaryIcon</key> <dict> <key>CFBundleIconFiles</key> <array> <string>ic_none</string> </array> </dict> </dict> <key>CFBundleAlternateIcons</key>
  3. ICÔNES ALTERNATIVES INFO.PLIST <key>CFBundleIcons</key> <dict> <key>CFBundleAlternateIcons</key> <dict> <key>de</key> <dict> <key>CFBundleIconFiles</key>

    <array> <string>ic_de</string> </array> <key>UIPrerenderedIcon</key> <false/> </dict> <key>fr</key> <dict> <key>CFBundleIconFiles</key> <array> <string>ic_fr</string> </array> <key>UIPrerenderedIcon</key> <false/> </dict> <key>it</key> <dict> <key>CFBundleIconFiles</key> <array> <string>ic_it</string> </array> <key>UIPrerenderedIcon</key> <false/> </dict> </dict> <key>CFBundlePrimaryIcon</key> <dict> <key>CFBundleIconFiles</key> <array> <string>ic_none</string> </array> </dict> </dict> <key>CFBundleAlternateIcons</key>
  4. ICÔNES ALTERNATIVES INFO.PLIST <key>CFBundleIcons</key> <dict> <key>CFBundleAlternateIcons</key> <dict> <key>de</key> <dict> <key>CFBundleIconFiles</key>

    <array> <string>ic_de</string> </array> <key>UIPrerenderedIcon</key> <false/> </dict> <key>fr</key> <dict> <key>CFBundleIconFiles</key> <array> <string>ic_fr</string> </array> <key>UIPrerenderedIcon</key> <false/> </dict> <key>it</key> <dict> <key>CFBundleIconFiles</key> <array> <string>ic_it</string> </array> <key>UIPrerenderedIcon</key> <false/> </dict> </dict> <key>CFBundlePrimaryIcon</key> <dict> <key>CFBundleIconFiles</key> <array> <string>ic_none</string> </array> </dict> </dict>
  5. ICÔNES ALTERNATIVES INFO.PLIST <key>CFBundleIcons</key> <dict> <key>CFBundleAlternateIcons</key> <dict> <key>de</key> <dict> <key>CFBundleIconFiles</key>

    <array> <string>ic_de</string> </array> <key>UIPrerenderedIcon</key> <false/> </dict> <key>fr</key> <dict> <key>CFBundleIconFiles</key> <array> <string>ic_fr</string> </array> <key>UIPrerenderedIcon</key> <false/> </dict> <key>it</key> <dict> <key>CFBundleIconFiles</key> <array> <string>ic_it</string> </array> <key>UIPrerenderedIcon</key> <false/> </dict> </dict> <key>CFBundlePrimaryIcon</key> <dict> <key>CFBundleIconFiles</key> <array> <string>ic_none</string> </array> </dict> </dict> <key>fr</key> <dict> <key>CFBundleIconFiles</key> <array> <string>ic_fr</string> </array> <key>UIPrerenderedIcon</key> <false/> </dict>
  6. ICÔNES ALTERNATIVES INFO.PLIST <key>CFBundleIcons</key> <dict> <key>CFBundleAlternateIcons</key> <dict> <key>de</key> <dict> <key>CFBundleIconFiles</key>

    <array> <string>ic_de</string> </array> <key>UIPrerenderedIcon</key> <false/> </dict> <key>fr</key> <dict> <key>CFBundleIconFiles</key> <array> <string>ic_fr</string> </array> <key>UIPrerenderedIcon</key> <false/> </dict> <key>it</key> <dict> <key>CFBundleIconFiles</key> <array> <string>ic_it</string> </array> <key>UIPrerenderedIcon</key> <false/> </dict> </dict> <key>CFBundlePrimaryIcon</key> <dict> <key>CFBundleIconFiles</key> <array> <string>ic_none</string> </array> </dict> </dict>
  7. ICÔNES ALTERNATIVES INFO.PLIST <key>CFBundleIcons</key> <dict> <key>CFBundleAlternateIcons</key> <dict> <key>de</key> <dict> <key>CFBundleIconFiles</key>

    <array> <string>ic_de</string> </array> <key>UIPrerenderedIcon</key> <false/> </dict> <key>fr</key> <dict> <key>CFBundleIconFiles</key> <array> <string>ic_fr</string> </array> <key>UIPrerenderedIcon</key> <false/> </dict> <key>it</key> <dict> <key>CFBundleIconFiles</key> <array> <string>ic_it</string> </array> <key>UIPrerenderedIcon</key> <false/> </dict> </dict> <key>CFBundlePrimaryIcon</key> <dict> <key>CFBundleIconFiles</key> <array> <string>ic_none</string> </array> </dict> </dict> <key>CFBundlePrimaryIcon</key> <dict> <key>CFBundleIconFiles</key> <array> <string>ic_none</string> </array> </dict>
  8. ICÔNES ALTERNATIVES UIApplication.shared.alternateIconName CONNAITRE L’ICÔNE ACTUELLE DÉMO COMPLETE https://github.com/juli1quere/ios10.3-alternateicon-demo CHANGER

    L’ICÔNE UIApplication.shared.setAlternateIconName(iconName) { (error) in if let error = error { print("err: \(error)") } else { print("Icon changed ! !") } }
  9. APFS CONCRÈTEMENT ? ▸ Migration transparente et sécurisée ▸ Gain

    de 10 à 15 secondes au boot ▸ Impact sur le code: aucun :)
  10. STORE REVIEW CONTROLLER POUR ALLER PLUS LOIN … ▸ L’affichage

    n’est pas garanti ▸ Limité à 3 demandes par an ▸ Ne s’affiche plus après une review ▸ Désactivable sur tout le système
  11. STORE REVIEW CONTROLLER POUR ALLER PLUS LOIN … ▸ L’affichage

    n’est pas garanti ▸ Limité à 3 demandes par an ▸ Ne s’affiche plus après une review ▸ Désactivable sur tout le système
  12. STORE REVIEW CONTROLLER POUR ALLER PLUS LOIN … ▸ L’affichage

    n’est pas garanti ▸ Limité à 3 demandes par an ▸ Ne s’affiche plus après une review ▸ Désactivable sur tout le système ▸ Aucun feedback ▸ Deviendra obligatoire
  13. STORE REVIEW CONTROLLER BONUS ▸ URL d’accès direct au formulaire

    de review https://itunes.apple.com/app/id[ID_APPLICATION]?action=write-review
  14. STORE REVIEW CONTROLLER BONUS ▸ URL d’accès direct au formulaire

    de review let url = URL(string:"https://itunes.apple.com/app/id618783545?action=write-review") UIApplication.shared.open(url!)
  15. STORE REVIEW CONTROLLER BONUS ▸ URL d’accès direct au formulaire

    de review let url = URL(string:"https://itunes.apple.com/app/id618783545?action=write-review") UIApplication.shared.open(url!) ▸ Rétrocompatible
  16. EN VRAC ▸ Réponses aux commentaires sur le store ▸

    La keychain n’est plus persistante ▸ Quelques avancées sur XCTests ▸ La fin du support de Swift 2.3
  17. VOULEZ VOUS EN SAVOIR PLUS ? ▸ iOS 10.3 Alternate

    Icons: what can you do and how it works ? https://goo.gl/10pHaB ▸ WWDC16: Introducing Apple File System - https://goo.gl/ CBVwyA ▸ Daring Fireball: Additional Details on the New App Store Review Features - https://goo.gl/uBvvLB ▸ Aadam Leventhal APFS in Detail - https://goo.gl/LfGUpK ▸ Youtube: iOS 10.3 - The importance of APFS for boot speed - https://goo.gl/gOw9Hq