The SDK exports a C API. You can call SDK functions from C, C++, Objective-C, or Swift directly. Other languages may require a bridge.
The iOS demo application includes a folder titled ArgusKit that includes Swift classes that wrap the C API. This set of classes can be copied into any project as a starting point if the language in use is Swift. This is optional and not part of the SDK, but helps make use of the SDK simpler for Swift applications.
The C API defines a set of pseudo-objects that the SDK makes available for use by an application. Each object is represented in C by a distinct object type and a set of functions which share a common function name prefix. The function name prefix reflects the type of object on which the function can be called.
Memory is managed via reference counting. Use the ARKObjectRetain() API to increment the reference count and use ARKObjectRelease() to decrement the reference count. Once the reference count of an object reaches zero, the object and all the resources managed by the object are freed. You should generically request ARKObjectRetain() if you want to keep an object alive and ARKObjectRelease() if you no longer care about an object.