hello watchos2
TRANSCRIPT
![Page 1: Hello watchOS2](https://reader031.vdocuments.site/reader031/viewer/2022030302/587dc1331a28ab1b498b608b/html5/thumbnails/1.jpg)
šā2@NatashaTheRobot
![Page 2: Hello watchOS2](https://reader031.vdocuments.site/reader031/viewer/2022030302/587dc1331a28ab1b498b608b/html5/thumbnails/2.jpg)
![Page 3: Hello watchOS2](https://reader031.vdocuments.site/reader031/viewer/2022030302/587dc1331a28ab1b498b608b/html5/thumbnails/3.jpg)
![Page 4: Hello watchOS2](https://reader031.vdocuments.site/reader031/viewer/2022030302/587dc1331a28ab1b498b608b/html5/thumbnails/4.jpg)
![Page 5: Hello watchOS2](https://reader031.vdocuments.site/reader031/viewer/2022030302/587dc1331a28ab1b498b608b/html5/thumbnails/5.jpg)
![Page 6: Hello watchOS2](https://reader031.vdocuments.site/reader031/viewer/2022030302/587dc1331a28ab1b498b608b/html5/thumbnails/6.jpg)
![Page 7: Hello watchOS2](https://reader031.vdocuments.site/reader031/viewer/2022030302/587dc1331a28ab1b498b608b/html5/thumbnails/7.jpg)
![Page 8: Hello watchOS2](https://reader031.vdocuments.site/reader031/viewer/2022030302/587dc1331a28ab1b498b608b/html5/thumbnails/8.jpg)
![Page 9: Hello watchOS2](https://reader031.vdocuments.site/reader031/viewer/2022030302/587dc1331a28ab1b498b608b/html5/thumbnails/9.jpg)
![Page 10: Hello watchOS2](https://reader031.vdocuments.site/reader031/viewer/2022030302/587dc1331a28ab1b498b608b/html5/thumbnails/10.jpg)
![Page 11: Hello watchOS2](https://reader031.vdocuments.site/reader031/viewer/2022030302/587dc1331a28ab1b498b608b/html5/thumbnails/11.jpg)
![Page 12: Hello watchOS2](https://reader031.vdocuments.site/reader031/viewer/2022030302/587dc1331a28ab1b498b608b/html5/thumbnails/12.jpg)
![Page 13: Hello watchOS2](https://reader031.vdocuments.site/reader031/viewer/2022030302/587dc1331a28ab1b498b608b/html5/thumbnails/13.jpg)
![Page 14: Hello watchOS2](https://reader031.vdocuments.site/reader031/viewer/2022030302/587dc1331a28ab1b498b608b/html5/thumbnails/14.jpg)
![Page 15: Hello watchOS2](https://reader031.vdocuments.site/reader031/viewer/2022030302/587dc1331a28ab1b498b608b/html5/thumbnails/15.jpg)
![Page 16: Hello watchOS2](https://reader031.vdocuments.site/reader031/viewer/2022030302/587dc1331a28ab1b498b608b/html5/thumbnails/16.jpg)
![Page 17: Hello watchOS2](https://reader031.vdocuments.site/reader031/viewer/2022030302/587dc1331a28ab1b498b608b/html5/thumbnails/17.jpg)
![Page 18: Hello watchOS2](https://reader031.vdocuments.site/reader031/viewer/2022030302/587dc1331a28ab1b498b608b/html5/thumbnails/18.jpg)
šā2
ā¢ Complications
ā¢ Watch Connectivity
![Page 19: Hello watchOS2](https://reader031.vdocuments.site/reader031/viewer/2022030302/587dc1331a28ab1b498b608b/html5/thumbnails/19.jpg)
Complicationsitās complicated š¤
![Page 20: Hello watchOS2](https://reader031.vdocuments.site/reader031/viewer/2022030302/587dc1331a28ab1b498b608b/html5/thumbnails/20.jpg)
![Page 21: Hello watchOS2](https://reader031.vdocuments.site/reader031/viewer/2022030302/587dc1331a28ab1b498b608b/html5/thumbnails/21.jpg)
![Page 22: Hello watchOS2](https://reader031.vdocuments.site/reader031/viewer/2022030302/587dc1331a28ab1b498b608b/html5/thumbnails/22.jpg)
![Page 23: Hello watchOS2](https://reader031.vdocuments.site/reader031/viewer/2022030302/587dc1331a28ab1b498b608b/html5/thumbnails/23.jpg)
![Page 24: Hello watchOS2](https://reader031.vdocuments.site/reader031/viewer/2022030302/587dc1331a28ab1b498b608b/html5/thumbnails/24.jpg)
![Page 25: Hello watchOS2](https://reader031.vdocuments.site/reader031/viewer/2022030302/587dc1331a28ab1b498b608b/html5/thumbnails/25.jpg)
Creating Complications with ClockKit
WWDC15 Session 209
![Page 27: Hello watchOS2](https://reader031.vdocuments.site/reader031/viewer/2022030302/587dc1331a28ab1b498b608b/html5/thumbnails/27.jpg)
![Page 28: Hello watchOS2](https://reader031.vdocuments.site/reader031/viewer/2022030302/587dc1331a28ab1b498b608b/html5/thumbnails/28.jpg)
DO Repeat Yourself
![Page 29: Hello watchOS2](https://reader031.vdocuments.site/reader031/viewer/2022030302/587dc1331a28ab1b498b608b/html5/thumbnails/29.jpg)
// iOS app struct Session { let startTime: NSDate let endTime: NSDate let description: String let location: String let speaker: Speaker? }
// Watch App struct Session { let startTime: NSDate let endTime: NSDate let location: String let speaker: Speaker? let index: Int }
![Page 30: Hello watchOS2](https://reader031.vdocuments.site/reader031/viewer/2022030302/587dc1331a28ab1b498b608b/html5/thumbnails/30.jpg)
![Page 31: Hello watchOS2](https://reader031.vdocuments.site/reader031/viewer/2022030302/587dc1331a28ab1b498b608b/html5/thumbnails/31.jpg)
DO Repeat Yourself
but not too muchā¦
![Page 32: Hello watchOS2](https://reader031.vdocuments.site/reader031/viewer/2022030302/587dc1331a28ab1b498b608b/html5/thumbnails/32.jpg)
Watch Connectivity
![Page 33: Hello watchOS2](https://reader031.vdocuments.site/reader031/viewer/2022030302/587dc1331a28ab1b498b608b/html5/thumbnails/33.jpg)
Background Data Transfer
![Page 34: Hello watchOS2](https://reader031.vdocuments.site/reader031/viewer/2022030302/587dc1331a28ab1b498b608b/html5/thumbnails/34.jpg)
ā¢ application context
![Page 35: Hello watchOS2](https://reader031.vdocuments.site/reader031/viewer/2022030302/587dc1331a28ab1b498b608b/html5/thumbnails/35.jpg)
ā¢ application context
ā¢ user info transfer
![Page 36: Hello watchOS2](https://reader031.vdocuments.site/reader031/viewer/2022030302/587dc1331a28ab1b498b608b/html5/thumbnails/36.jpg)
ā¢ application context
ā¢ user info transfer
ā¢ file transfer
![Page 37: Hello watchOS2](https://reader031.vdocuments.site/reader031/viewer/2022030302/587dc1331a28ab1b498b608b/html5/thumbnails/37.jpg)
Interactive Messaging
![Page 38: Hello watchOS2](https://reader031.vdocuments.site/reader031/viewer/2022030302/587dc1331a28ab1b498b608b/html5/thumbnails/38.jpg)
ā¢ Immediate Information Transfer
ā¢ Requires reachable state
![Page 39: Hello watchOS2](https://reader031.vdocuments.site/reader031/viewer/2022030302/587dc1331a28ab1b498b608b/html5/thumbnails/39.jpg)
WCSession
![Page 40: Hello watchOS2](https://reader031.vdocuments.site/reader031/viewer/2022030302/587dc1331a28ab1b498b608b/html5/thumbnails/40.jpg)
// check needed for iOS App Only if WCSession.isSupported() { // activate session for both! let session = WCSession.defaultSession() session.delegate = self session.activateSession() }
![Page 41: Hello watchOS2](https://reader031.vdocuments.site/reader031/viewer/2022030302/587dc1331a28ab1b498b608b/html5/thumbnails/41.jpg)
import WatchConnectivity
class WatchSessionManager: NSObject, WCSessionDelegate { static let sharedManager = WatchSessionManager() private override init() { super.init() } private let session: WCSession? = WCSession.isSupported() ? WCSession.defaultSession() : nil // no need for the check on the Watch App: // private let session = WCSession.defaultSession() func startSession() { session?.delegate = self session?.activateSession() }
![Page 42: Hello watchOS2](https://reader031.vdocuments.site/reader031/viewer/2022030302/587dc1331a28ab1b498b608b/html5/thumbnails/42.jpg)
![Page 43: Hello watchOS2](https://reader031.vdocuments.site/reader031/viewer/2022030302/587dc1331a28ab1b498b608b/html5/thumbnails/43.jpg)
![Page 44: Hello watchOS2](https://reader031.vdocuments.site/reader031/viewer/2022030302/587dc1331a28ab1b498b608b/html5/thumbnails/44.jpg)
Code Sample
![Page 45: Hello watchOS2](https://reader031.vdocuments.site/reader031/viewer/2022030302/587dc1331a28ab1b498b608b/html5/thumbnails/45.jpg)
šā2
ā¢ Complications
ā¢ Watch Connectivity
![Page 46: Hello watchOS2](https://reader031.vdocuments.site/reader031/viewer/2022030302/587dc1331a28ab1b498b608b/html5/thumbnails/46.jpg)
Which future will you build for?