# Options When initializing the SDK for iOS, you have the flexibility to provide various initialization options. ## Options Below are the options that control various aspects of the SDK for iOS. | Option | Type | Default | Description | |---------------------------------|-----------------|---------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | application | `Any?` | `nil` | A reference to your application. Useful in plugins or async code where referring back to the application is necessary. | | endpoint | `String` | `test.example.com/v1` | The base endpoint used to construct the event sending and settings retrieval endpoints. | | autoAddKrenalisDestination | `Bool` | `true` | This automatically adds the Krenalis Destination plugin. The SDK supports also the `autoAddSegmentDestination` option from the Segment SDK, which can be used as an alternative with the same effect. | | defaultSettings | `Settings?` | `nil` | The settings object used as fallback in case of network failure. Useful to ensure destinations are enabled immediately on first launch before settings are fetched from the endpoint. | | flushAt | `Int` | `20` | The count of events at which Krenalis flushes events. | | flushInterval | `TimeInterval` | `30` | The interval in seconds at which Krenalis flushes events. | | flushPolicies | `[FlushPolicy]` | `[CountBasedFlushPolicy(), IntervalBasedFlushPolicy()]` | Add more granular control for when to flush. | | storageMode | `StorageMode` | `.disk` | The storage mode for events. Available values: `.disk`, `.diskAtURL(URL)`, `.memory(Int)`, or `.custom(DataStore)`. | | trackApplicationLifecycleEvents | `Boolean` | `true` | Set to `true` to automatically track Lifecycle events. | | sessionAutoTrack | `Bool` | `true` | This automatically tracks the user sessions. | | sessionTimeout | `Int64` | `5 * 60000` (5 minutes) | The interval in milliseconds at which the user session expires. |