iOS agent to use Instana for your iOS app. The monitoring currently supports:
- Session Start
- Capture HTTP sessions automatically or manually
- Automatic delivery of device & app information (like bundle identifer, version, language, iOS device information)
- Send custom event (This can be especially helpful to send logs, to track additional performance metrics or errors.)
- [Beta] Crash reporting, plus CPU exception, disk write exception, hang diagnostics and app launch diagnostics
- [Beta] Automatic screen name capture
Optionally:
- Ignore full URLs by regex or full URLs
- Set global meta data (key/value)
- Set user specific data (like id, name and email)
- Set the current visible view to match with the HTTP sessions
- iOS 12+
- Swift 5.4+
To install the iOS agent, use Swift Package Manager (via Xcode) or CocoaPods.
- Open Xcode.
- Open your Xcode project.
- Select menu
File
->Add Package Dependencies...
- In the window that pops up, enter the repository https://github.com/instana/iOSAgent in the Search or Enter Package URL field. Then, select
iosagent
from the search result and clickAdd Package
button.
-
Within your
Podfile
specification, add the following:pod 'InstanaAgent'
-
To download the dependencies, run
pod install
.
Just initialize the Instana iOS agent with the following setup. Make sure to call setup very early in didFinishLaunchingWithOptions
import InstanaAgent
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey : Any]? = nil) -> Bool {
let options = InstanaSetupOptions(enableCrashReporting: <true or false>)
Instana.setup(key: <Your Instana Key>, reportingURL: <Your Instana instance URL>, options: options)
....
return true
}
- Diagnostic test, crash as an example, needs to be done on physical devices: iPhone, iPad etc. Simulator is of no help.
- The lowest versions that support crash reporting are iOS 14.0 and macOS 12.0.
- A valid bundle id other than com.instana.ios.InstanaAgentExample for your test app is also a must.
See API page.