WatchKit + NFCDmitriy GroschovskiySenior Software Engineer
Vladimir HudnitskySenior Software Engineer
Apple Watch, what is that?Is a computerized wristwatch with functionality that is enhanced beyond timekeeping. While early models can perform basic tasks, such as calculations, translations, and game-playing, modern smartwatches are effectively wearable computers.
Work hard, play hard on Watch OS (iOS-based)
SiP• NAND - 4 GB• RAM - 512 MB• Wi-Fi 802.11b/g• Bluetooth 4.0 +
HS• NFC
Apple iPhone pair with Watch
๏ Bluetooth 4.0 + HS & FM๏ Wi-Fi 802.11 b/g pair
Input Methods• Digital crown• Multi-touch• Force touch• Microphone
Output Methods
• Speaker• Vibration• Display
Sensors in Watches• Sensors Accelerometer• Gyroscope• Heart rate sensor• Barometer• Walk-meter (via your iPhone)
NFC - Near Field Connection
• Совершение платежей• Загрузка Passbook• Открытия Apple MFi замков
Технология зарядки часов
• Для зарядки часов используется коннектор Apple’s MagSafe® с магнитом для прилипания к часам
Using ResearchKit at Apple Watch
Hierarchical view
Page-based view
Template images that you can use for menus
• WKMenuItemIconAccept , // checkmark
• WKMenuItemIconAdd , // '+'• WKMenuItemIconBlock , // circle
w/ slash • WKMenuItemIconDecline , // 'x'• WKMenuItemIconInfo , // 'i'• WKMenuItemIconMaybe , // '?'• WKMenuItemIconMore , // '...'• WKMenuItemIconMute , //
speaker w/ slash
• WKMenuItemIconPause , // pause button • WKMenuItemIconPlay , // play button • WKMenuItemIconRepeat , // looping
arrows • WKMenuItemIconResume , // circular
arrow • WKMenuItemIconShare , // share icon • WKMenuItemIconShuffle , // swapped
arrows • WKMenuItemIconSpeaker , // speaker
icon • WKMenuItemIconTrash , // trash icon
Menu Images
Internationalizing Your Text Code
• Use the NSLocalizedString family of macros to retrieve localized strings programmatically.
• Use the NSNumberFormatter class to format numerical values using the user’s region and locale settings.
• Use the NSDateFormatter class to format dates using the user’s region and locale settings.
UI Design at default app’s
Development time
WatchKit App Architecture
WatchKit App Architecture
App Target Structure
Launching a WatchKit app
Communicate with iOS App
• InterfaceController.openParentApplication(["getProgress": "1"], reply: {(response, error) -> Void in
• func application(application: UIApplication!, handleWatchKitExtensionRequest userInfo: [NSObject : AnyObject]!, reply: (([NSObject : AnyObject]!) -> Void)!)
Configuring the dynamic notification
Difference between static and dynamics notifications
Configuring the dynamic notification interface
Glance• Design your glance to convey information quickly• Focus on the most important data• Do not include interactive controls in your glance interface.• Avoid tables and maps in your glance interface• Be timely with the information you display• Use the system font for all text. Avoid custom fonts• App has only one glance interface controller
Development Review
About speakers
Dmitriy GroschovskiyE-Mail: [email protected]: https://fb.com/groschovskiy
LinkedIn: www.linkedin.com/pub/dmitriy-groschovskiy/7b/797/1/GitHub: github.com/groschovskiy
Vladimir HudnitskyE-Mail: [email protected]: https://fb.com/xputnikx
LinkedIn: www.linkedin.com/in/vladimirhudnitsky/ruGitHub: https://github.com/xPutnikx