watchOS 3 Troubleshooting
This article provides several troubleshooting tips for working with watchOS 3 in Xamarin Apple Watch apps.
This page lists some known issues that can occur when using watchOS 3 with Xamarin and the solution to those issues.
Activities
For Activity sharing to work correctly, all paired Apple Watches must be running watchOS 3.
Known Issues:
- Replying to an Activity Sharing Notification sometimes fails.
- Replying to an Activity Sharing Notification with a message may fail.
- Contextual text above an Activity Sharing Notification message will be incorrect.
Apple Pay
Known Issues:
- If an incorrect expiration date or CW code is entered for a new payment care in Apple Pay, when hitting Next the running process will crash.
- In-App Apple Pay purchases requiring a PIN number may crash.
Auto Mac Unlock
By using watchOS 3 beta 2 (or greater) and macOS Sierra beta 2 (or greater), if two-factor authentication is enabled on the user's iCloud account, they can use their Apple Watch to auto unlock their Mac.
Background Refresh
Violating system resources will result in a watchOS 3 app crash with the following exception codes:
- 0xc51bad01 - The app consumed too much CPU time.
- 0xc51bad02 - The app consumed too much wall time.
- 0xc51bad03 - The app did not have enough runtime to complete the current task.
Clock
Complications from newly installed Apple Watch apps may show up as blank. Reboot Apple Watch to fix this issue.
Connectivity
Known Issues:
- watchOS will not prompt the user for access permission for protected user data on the Apple Watch. Grant access on the iPhone app before using data in the watch app.
- The Apple Watch can enter a state where all WatchConnectivity transmissions fail, reboot the Apple Watch to fix.
Notifications
If a media attachment is too large, it will be presented on the user's iPhone but not their Apple Watch.
NSURLConnection
Any NSURLConnection
connections using older TLS protocols will fail. For all SSL/TLS connections, the RC4 symmetric cipher is now disabled by default. Additionally, the Secure Transport API no longer supports SSLv3 and it is recommended that the app stop using SHA-1 and 3DES cryptography as soon as possible.
As of watchOS 3, SSL/TLS connections security is being strictly enforced by Apple. Affected services and apps should updated web servers to use the latest TLS protocol versions.
NSURLSession
As of watchOS 3, the HTTPBodyStream
property of the NSMutableURLRequest
class must be set to an unopened stream since NSURLConnection
and NSURLSession
now strictly enforce this requirement.
Privacy
Known Issues:
When working with https://
URLs both NSURLSession
and NSURLConnection
no longer support RC4 cipher suites during the TLS handshake. One of the following error codes may be generated:
- -1200 or -98 - For
NSURLErrorSecurityConnectionFailed
and SecureTransport errors. - -1200 [3:-9824] - Http load failed.
- -1200 -
NSURLConnection
finished with error.
As of watchOS 3, SSL/TLS connections security is being strictly enforced by Apple. Affected services and apps should updated web servers to use the latest TLS protocol versions. See NSURLConnection above for more information.
Snapshots
WatchKit apps that have not adopted the new HandelBackgroundTask
API will no longer receive periodic updates in watchOS 3.
WatchKit
SpriteKit and SceneKit scenes will be paused when an app enters the background in the watchOS Dock.