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.

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