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

Adapting iOS8

Adapting iOS8

Guidelines, gotchas and some cool stuff to consider when making your app ready for iOS8

Aviel Lazar

July 15, 2014
Tweet

Other Decks in Technology

Transcript

  1. Adapting iOS 8
    Aviel Lazar
    @aviellazar  
    TLV iOS Developers Meetup

    View full-size slide

  2. Your iOS7 apps
    •  Work!
    •  Don’t look deprecated
    •  And yet…

    View full-size slide

  3. Privacy Permissions Attack

    View full-size slide

  4. Permissions Attack #1
    Camera

    View full-size slide

  5. Always
    vs.
    While in Use
    Permissions Attack #2
    Location

    View full-size slide

  6. Permissions Attack #3
    •  Permission Required
    – NEW: Local Notifications
    – Push Notifications
    •  No Permission Needed:
    – Silent Push Notifications
    •  Gotcha: New API!
    registerUserNotificationSettings:notificationSettings  

    View full-size slide

  7. Best Practices
    •  Prompt in context
    •  Specify the purpose
    •  NEW: Privacy settings link
    !UIApplicationOpenSettingsURLString"
    "
    http://techcrunch.com/2014/04/04/the-right-way-to-ask-users-for-ios-permissions/

    View full-size slide

  8. Push Notifications

    View full-size slide

  9. In App Purchases
    •  Ask to Buy feature of Family Sharing
    – New transaction state – Deferred

    View full-size slide

  10. •  Payment is neither purchased or failed
    – Further update will be received
    – Indeterminate time
    •  Meanwhile
    – Allow the user to use the app
    – Repurchase allowed
    Deferred Transaction

    View full-size slide

  11. Keyboard
    Height
    Accessory View Displayed
    Above that

    View full-size slide

  12. Condensing Bars

    View full-size slide

  13. UI Adaptivity
    •  Canvas Space vs. Orientation
    •  Regular vs. Compact

    View full-size slide

  14. UI Adaptivity

    View full-size slide

  15. UI Adaptivity
    •  UITraitsCollection
    – horizontalSizeClass
    – verticalSizeClass
    – displayScale
    – userInterfaceIdiom

    View full-size slide

  16. UI Adaptivity
    •  Adaptive View Controller - UITrairtsEnviorment
    –  UIPresentationController
    •  Popover
    •  AlertsView,ActionSheet
    •  Search
    •  Custom
    –  UISplitViewController
    •  Adaptive Image Assets
    "
    [UIImage named: ”Cart” "
    inBundle: nil "
    compatibleWithTraitCollection: self.traitCollection]"

    View full-size slide

  17. UI Adaptivity Gotcha
    •  [[UIScreen mainScreen] bounds]
    – Is now orientation aware!

    View full-size slide

  18. UITableView
    Dynamic Text Support

    View full-size slide

  19. UITableView Cells
    •  rowHeight
    •  Delegate
    •  Self Sizing Cells (Dynamic Type)
    – Auto Layout
    – sizeThatFits: is height for width
    – table.View.rowHeight =44 (gotcha)
    – tableView.estimatedRowHeight = 44

    View full-size slide

  20. WKWebView
    •  It’s the Safari WebView
    –  Multi Process , Gestures, Fast JavaScript
    •  Powerful integration for Hybrid Apps:
    •  Navigation Delegate
    •  User scripts
    •  Script Messages
    –  JSON"
    –  window.webkit.messageHandlers..postMessage();"

    View full-size slide

  21. Modern Objective - C
    •  instanacetype
    –  (instancetype)initWithFrame:(CGRect)frame; "
    •  Properties vs. method notations
    ! !"

    View full-size slide

  22. iTunes Connect
    •  iTunes Connect Analytics
    –  App Page Views
    –  Website Links
    –  Campaign Links
    •  App Bundles
    –  Only for paid apps
    –  Complete my bundle

    View full-size slide

  23. App Previews
    •  30 Seconds
    •  Shows UI/Functionality
    •  Easily Capture
    - OS X Yosemite and iOS 8
    •  Can Do:
    –  Narrations
    •  Don’t Do:
    –  Hands
    –  Prices
    –  Copyright infringement

    View full-size slide

  24. Hidden Gems & More…
    •  Localization
    –  XCode will Import/Export XLIFF files
    –  Previews (RTL support)
    •  Instruments
    –  Network profiling

    View full-size slide

  25. Thank You
    We’re Hiring!
    [email protected]

    View full-size slide