Track. Debug. Distribute. AppAmbit: track, debug, and distribute your apps from one dashboard.
Lightweight SDK for analytics, events, logging, crashes, and offline support. Simple setup, minimal overhead.
Full product docs live here: docs.appambit.com
- Features
- Requirements
- Install
- Quickstart
- Usage
- Release Distribution
- Privacy and Data
- Troubleshooting
- Contributing
- Versioning
- Security
- License
- Session analytics with automatic lifecycle tracking
- Ambit Trail records detailed navigation for debugging
- Event tracking with custom properties
- Error logging for quick diagnostics
- Crash capture with stack traces and threads
- Offline support with batching, retry, and queue
- Create mutliple app profiles for staging and production
- Small footprint, modern Swift API with full Objective-C support
- iOS 12.0 or newer
- Xcode 15 or newer
- Swift 5.7 or newer
- Add the repository URL in Xcode under File → Add Packages…
- Select the latest version and attach it to your app target
Add this to your Podfile:
pod 'AppAmbitSdk'
# or specify version
pod 'AppAmbitSdk', '~> 0.2.0'Then run:
pod installOpen the generated .xcworkspace project.
(If you get an error like “Unable to find a specification for AppAmbitSdk”: run pod repo update, then pod install.)
Configure the SDK at app launch with your API Key.
// AppDelegate
AppAmbit.start(appKey: "<YOUR-APPKEY>")// AppDelegate
[AppAmbit startWithAppKey:@"<YOUR-APPKEY>"];-
Session activity – automatically tracks user session starts, stops, and durations
-
Ambit Trail – records detailed navigation of user and system actions leading up to an issue for easier debugging
-
Track events – send structured events with custom properties
Analytics.trackEvent(eventTitle: "Test TrackEvent", data: ["test1":"test1"])
[Analytics trackEventWithEventTitle:@"Test TrackEvent" data:@{ @"test1": @"test1" } createdAt:nil completion:nil]; -
Logs: add structured log messages for debugging
let properties: [String: String] = ["user_id": "1"] let message = "Error NullPointerException" Crashes.logError(message: message, properties: properties, exception: error)
[props setObject:@"123" forKey:@"userId"]; NSDictionary *userInfo = @{ NSLocalizedDescriptionKey: exception.reason }; NSError *error = [NSError errorWithDomain:exception.name code:0 userInfo:userInfo]; [Crashes logErrorWithMessage:(@"Error ArrayIndex") properties:props classFqn:nil exception:nil fileName:nil lineNumber:0 createdAt:nil completion:nil]; -
Crash Reporting: uncaught crashes are automatically captured and uploaded on next launch
-
Breadcrumbs: automatic screen-change breadcrumbs (push/pop, present/dismiss). To display the intended screen name, set a navigation title (
navigationTitlein SwiftUI /titlein UIKit/Objective-C). Without a title, it will appear in the dashboard using the default view/controller name.NavigationStack { MyMview() .navigationTitle("MyMview") }
UIViewController *vc = [UIViewController new]; vc.title = @"MyMview"; [self.navigationController pushViewController:vc animated:YES];
- Push the artifact to your AppAmbit dashboard for distribution via email and direct installation.
- The SDK batches and transmits data efficiently
- You control what is sent — avoid secrets or sensitive PII
- Supports compliance with Apple platform policies
For details, see the docs: docs.appambit.com
- No data in dashboard → check API key, endpoint, and network access
- CocoaPods errors → run
pod repo update, thenpod install - SPM not resolving → confirm repo URL and tagged release version
- Crash not appearing → crashes are sent on next launch
We welcome issues and pull requests.
- Fork the repo
- Create a feature branch
- Add tests where applicable
- Open a PR with a clear summary
Please follow Swift API design guidelines and document public APIs.
Semantic Versioning (MAJOR.MINOR.PATCH) is used.
- Breaking changes → major
- New features → minor
- Fixes → patch
If you find a security issue, please contact us at [email protected] rather than opening a public issue.
Open source under the terms described in the LICENSE file.
- Docs: docs.appambit.com
- Dashboard: appambit.com
- Discord: discord.gg
- Examples: Sample Swift test app
AppAmbit.App.Swiftand Objective-C test appAppAmbit.App.ObjCare included in this repo.