There are a few things to be aware of with the iOS SDK:
- The iOS SDK utilizes a streaming architecture to keep itself in sync with your configurations on the dashboard. If any change is made, these changes will be picked up by your iOS users the next time they get online.
- When the SDK receives any updates from LaunchDarkly they are cached to Core Data, so that the SDK can still evaluate flags even when offline.
- When a user first installs your app, until the first stream is established with LD, the default variation values will be used. There is a delegate pattern (see
userDidUpdate) that can be used to block until the first response is received.
- When a current user uses the app while offline, or if variation calls are made before the SDK has has finished initializing, then the SDK will continue to serve variations using the old state, and you may see these events show up occasionally in your dev console after making changes.
- If your SDK If you need to change your user, or you want to wait until the SDK has finished synchronizing with LaunchDarkly, you should use the
userDidUpdatedelegate to wait until the feature flags for the new user have been received.