> For the complete documentation index, see [llms.txt](https://emotiv.gitbook.io/cortex-library-for-mobile/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://emotiv.gitbook.io/cortex-library-for-mobile/objective-c-api.md).

# Objective-C API for iOS

On iOS, the Cortex library provides an API written in Objective-C. It contains only two classes:

* [CortexLib](/cortex-library-for-mobile/objective-c-api/cortexlib-class.md) to initialize the Cortex library
* [CortexClient](/cortex-library-for-mobile/objective-c-api/cortexclient-class.md) to send and receive JSON messages to the Cortex library

## Workflow

On iOS, the basic workflow of the API is as follow:

1. Call the static method **start** of the class [CortexLib](/cortex-library-for-mobile/objective-c-api/cortexlib-class.md)
2. Alloc and init an object from the class [CortexClient](/cortex-library-for-mobile/objective-c-api/cortexclient-class.md)
3. Call the method **setDelegate** of the [CortexClient](/cortex-library-for-mobile/objective-c-api/cortexclient-class.md) object
4. Call the method **sendRequest** of the [CortexClient](/cortex-library-for-mobile/objective-c-api/cortexclient-class.md) object to send JSON messages to the Cortex library. You can call this methods as many times as necessary. Cortex will respond asynchronously, using the delegate you provided at step 4. Please check the [Cortex API documentation](https://emotiv.gitbook.io/cortex-api/) to know the format of the JSON messages.
5. Call the static method **stop** of the class [CortexLib](/cortex-library-for-mobile/objective-c-api/cortexlib-class.md)
