nativescript-watchos-connector
This is a NativeScript plugin that uses Apple WatchConnectivity to pass and receive data to a companion WatchOS app.
Prerequisites / Requirements
Before using this plugin, make sure you have followed the NativeScript blog post on Developing a watchOS Extension For Your NativeScript App and iOS WatchOS Applications.
Installation NativeScript 7
npm i nativescript-watchos-connector
Installation prior to NativeScript 7:
npm i nativescript-watchos-connector@1011
Usage
NativeScript Angular
- For this plugin to work you must first add the nativescript-watchos-connector as a provider in your
app.module.ts
:
TypeScript
@
- Import the nativescript-watchos-connector plugin:
TypeScript
- Create an instance of the import in the constructor:
TypeScript
{}
Plugin Overview
This is a list of all currently available functions and a brief description of their usage within this plugin.
Function | Description |
---|---|
createWCSession() |
Creates a WCSession |
watchOSChecker() |
Checks if the user is on iOS, has an Apple Watch paired and the WatchOS app is installed |
checkActivation() |
Checks if the WCSession is active (if not, session will be activated) |
convertInt(value) |
Return value as Obj-C int |
convertDouble(value) |
Return value as Obj-C double |
convertFloat(value) |
Return value as Obj-C float |
sendObjectToWatch('objectKey', object) |
Send the data to the companion WatchOS App using ApplicationContext |
createWCSession()
createWCSession
checks if the device can support a WCSession, if so a WCSession will be created.
TypeScript
thiswatchOSConnector
watchOSChecker()
Use watchOSChecker
instead of isIOS
when working with passing data to the Apple Watch. This checks if the user is on iOS, has an Apple Watch paired and the WatchOS app is installed (returns boolean)
TypeScript
if thiswatchOSConnector // Only run if WatchOS app is avalaible
checkActivation()
Checks if the WCSession is active, if not this will activate the current session. This is called in sendObject()
to ensure there is an active session.
TypeScript
thiswatchOSConnector
convertInt(value)
Returns the value as a NSNumber with int
TypeScript
thiswatchOSConnector
convertDouble(value)
Returns the value as a NSNumber with double
TypeScript
thiswatchOSConnector
convertFloat(value)
Returns the value as a NSNumber with float
TypeScript
thiswatchOSConnector
sendObjectToWatch(objectKey, object)
Sends the data to the companion WatchOS app using updateApplicationContext
. You need to pass in a key for the object and an object of Objective-C valid values.
TypeScript
let intValue = thiswatchOSConnectorlet doubleValue = thiswatchOSConnector let numberObject = convertedInt: intValue convertedDouble: doubleValue thiswatchOSConnector
v2.0.0 Release
- Updated to be compatible with NativeScript 7
Future Releases
- Add images to README
- Create a demo app
Contributors
- DanHef - https://github.com/DanHef
License
Apache License Version 2.0, January 2004