This project is to port an Android SDK (attached) to iOS. ?
To give an overview, the iOS SDK will wraps the Kontagent REST API.? For API details, please see <[login to view URL]>
The SDK has the following features -
1. When first started, the SDK queues events to a SQLite database (referred to as the OfflineQueue throughout the rest of the document) and spawns a thread to check network connectivity.
2. If connectivity is found, then all queued events are moved to the OnlineQueue.
3. The OnlineQueue can be as simple as a thread that works off an in-memory NSMutableArrary (see here:? <[login to view URL]>) and sends URLs one at a time.
4. When the network is reachable, all API calls are handled in a background thread managed by the SDK to avoid impacting the performance of the main thread of the application.
5. Users of SDK should not see a difference when online vs. offline.
6. The first time the SDK is used, a "SenderId" is generated. The SenderId algorithm described below.
7. Must rely only on SDK frameworks. No 3rd party dependencies.
8. Must be tested on iOS 3 or greater.