MobileTech Conference 2015: Apple Watch Apps

of 45/45
Mit WatchKit Apps für die Apple Watch entwicklen @claushoefele
  • date post

    12-Apr-2017
  • Category

    Technology

  • view

    305
  • download

    0

Embed Size (px)

Transcript of MobileTech Conference 2015: Apple Watch Apps

  • Mit WatchKit Apps fr die Apple Watch entwicklen

    @claushoefele

  • Kleinanzeigen TransitHopper

  • Next meeting

  • Follow Back

  • ToDo with Siri/Things

  • [] the watch is a useful luxury []

    Benedict Evans

  • Agenda

    Interaction Models Transitioning to watchOS 2 Implementation Overview

  • Usability

    UtilityUtility/Usability Model

  • Interactive Notifications

    Notifications

    Apps

    Glances Complications

    Usability

    Utility

    Siri Background

    Apps

    Interactive Glances

    Interaction Models

  • Priorities

    Interactive Notifications Complications Glances

    1. 2. 3.

    Apps are landing pages for extensions

  • OS 2WatchKit Extension

    WatchKitExtension

    iOS App

    OS 1

    Watch App

  • watchOS 1

  • Hides When Loading

    Initially display Storyboard values

  • watchOS 1(Hides When Loading disabled)

  • watchOS 2

  • Storyboards

  • class TripDetailInterfaceController: WKInterfaceController { @IBOutlet private weak var map: WKInterfaceMap! override func awakeWithContext(context: AnyObject?) { super.awakeWithContext(context)

    ... } override func willActivate() { super.willActivate()

    ... } }

  • map.addAnnotation(coordinate, withPinColor: .Red) let coordinateRegion =

    MKCoordinateRegionMakeWithDistance[...] map.setRegion(coordinateRegion)

  • watchOS 2

    Extensions running on the watch Animations More access to hardware Complications (ClockKit) Watch can connect to WiFi directly Watch Connectivity framework

  • watchOS 2

    Upgrade

  • watchOS 1

    watchOS 2

    Targets

  • Earlier 2%iOS 7 13%

    iOS 8 86%

    iOS Distribution

  • OS 1Parent App

    WatchKitExtension

    iOS App

    Watch App

    openParentApplication()

    Darwin Notifications

    App Group Container

  • Parent App

    WatchKitExtension

    iOS AppWatch App

    OS 2

    Watch ConnectivityFramework

  • Watch Connectivity

    Background mode Application context User Info Transfer File Transfer

    Interactive messaging Dictionary Data

  • OS 1Networking

    WatchKitExtension

    iOS App

    Watch App

  • Networking

    Watch App

    OS 2

  • Networking

    Full support HTTP/S (2) & ATS Apps will only run for a very short time

    Keep it quick Background uploads/downloads Watch Connectivity

    No NSURLConnection

  • Hidden Complexities

    CC BY 2.0 Natalie Lucier https://flic.kr/p/6weBij

    https://flic.kr/p/6weBij

  • Notifications

  • Short look Long look Static

    Dynamic

    Default

    Customized

    Notification Appearances

  • Category

    Category

  • Interactive Notifications

  • Foreground/background

    Implementing Actions

    Identifier

  • Foreground Actions

  • Complications OS 2

  • Complication Families

    Modular Large

    Circular Small Utilitarian Small

    Utilitarian Large

    Modular Small

  • Time Travel

    Lunch12:00PM

    Meeting1:00PM

    Gym2:00PM

    12:45PM

    TimelineEntry

    TimelineEntry

    13:45PM

    TimelineEntry

  • Small space Data delivery PushKit Timed update

    Budgeted execution time

    Implementing Complications

  • Glances

  • Glance Templates

  • Glance Templates

  • Non-interactive UI based on templates Use Handoff to pass data to app Consider using performExpiringActivityWithReason:usingBlock:

    Implementing Glances

  • @claushoefele