top of page
  • Writer's pictureDon Peter

How to detect bugs in WatchOS apps

Updated: Sep 24, 2022

Fixing bugs in any app is critical as it can affect the user experience. Therefore, finding and fixing bugs at the earliest remains a top priority for any developer. Finotes has released its framework for watchOS, that is capable of automatically identifying and reporting unanticipated issues in live apps.

With a 3 step integration process, the framework is able to detect and report issues in WatchOS apps. This helps developers to reproduce issues and find the root cause. For integration details, visit documentation for watchOS (objective-C and swift).

Following are the steps to integrate WatchOS app with Finotes.

  1. Register with Finotes using the ‘Get Started’ button in and login to the dashboard.

  2. Use “Add App” to link WatchOS app to Finotes using bundle identifier.

  3. Integrate Finotes Framework to your app via cocoapods.

Finotes is capable of reporting multiple types of issues in WatchOS apps. Some of the main types of issues are mentioned below.

NSException based crashes

App crashes are fatal. They affect the user experience and may result in users uninstalling the app. With basic integration, Finotes watchOS framework is capable of detecting and reporting NSException based crashes.

NSException based crash report
Crash report

Crash reports generated by Finotes dashboard have data points like stack trace, device & device state data along with the time of occurrence of the issue.

API failures

By adding a single line of code, Finotes watchOS framework is capable of reporting API issues like status code errors, delayed API call executions, duplicate API calls.

Ticket raised due to API error
API error report

API related bug reports have data points like full URL with parameters, request, request body, response headers which will aid in faster root cause analysis.

High memory usages

In case the app uses an abnormal amount of memory, Finotes watchOS framework immediately reports it.

Ticket raised due to high memory usage in app
High memory usage report

The bug reports will have an activity trail along with memory usage patterns, device and device state information which will aid developers to identify the issue.

Function failures

Finotes watchOS framework provides an API to track code level function failures. Once a code level function is tracked, issues like unexpected return value, delay in function execution are automatically reported.

Ticket raised due to unexpected return value in a function
Function failure report

Each bug report will contain data points like function parameters, stack traces, activity trail, and return values.

Feature failures

With function tracking API, developers will be able to chain multiple code level functions. Once chained, Finotes will check whether the second function is executed within the stipulated time (which can be set by the developer) after the first function execution. If the second function is not executed, then Finotes watchOS framework reports it as a failure scenario.

Ticket raised due to a feature failure
Feature failure report

Data points like function parameters, stack traces, activity trail, device and device state data are captured.

Custom issues

Finotes watchOS framework provides a single line API for developers to report anticipated issues.

Ticket raised when custom issue is raised
A custom issue report

Data Security & Data Privacy

We consider privacy with the utmost importance. Finotes watchOS framework is architected to ensure that the app user remains anonymous. Finotes also ensures security and transparency by offering end to end encryption. It is GDPR compliant and no PII is captured.

Call back mechanism

Finotes watchOS framework offers a callback mechanism for every issue raised. This call back mechanism can be used by the developer to gracefully handle the issue.

Finotes is available as Objective-C and Swift Framework for iOS and as Java SDK and Kotlin SDK for Android.

Visit to learn more about Finotes. Detailed documentation is available at


Blog for Mobile App Developers, Testers and App Owners


This blog is from Finotes Team. Finotes is a lightweight mobile APM and bug detection tool for iOS and Android apps.

In this blog we talk about iOS and Android app development technologies, languages and frameworks like Java, Kotlin, Swift, Objective-C, Dart and Flutter that are used to build mobile apps. Read articles from Finotes team about good programming and software engineering practices, testing and QA practices, performance issues and bugs, concepts and techniques. 

Monitor & Improve Performance of your Mobile App


Detect memory leaks, abnormal memory usages, crashes, API / Network call issues, frame rate issues, ANR, App Hangs, Exceptions and Errors, and much more.

Explore Finotes

bottom of page