---
id: ios-getting-started
title: Getting Started
slug: /cppsdk/ios/getting-started
sidebar_position: 0
custom_edit_url: https://github.com/modio/modio-sdk-internal/blob/develop/platform/ios/doc/getting-started.mdx
---

# Getting Started

## mod.io iOS SDK Integration

The use of iOS with the mod.io SDK is ready by default. You can find the `ios` directory in the platform subdirectory of your SDK installation.
You can then target `IOS` to compile the mod.io SDK for iOS SDK.

## iOS SDK Versions

The mod.io SDK is built and tested against iOS using XCode v14 & v15.1. Using different versions of the iOS SDK may result in compilation issues.

In iOS, the default way to compile the mod.io SDK requires CMake, which you can install following the [CMake](https://cmake.org/download/) instructions or using a package manager like `brew`:

```cmake
brew install cmake ninja
```

NOTE: You can use Ninja or XCode as project generators. The former works like any other C++ project. The later will create a `.xcodeproj` file in the designated output folder.

iOS compiles by default to the simulator. If you need to deploy to a device, add variable `MODIO_IOS_DEVICE` to cmake. Check documentation in the platform link:platform/ios/README.adoc[README.adoc] for more details.

The minimum deployment target is iOS 15.0

## iOS Device Provisioning profiles

The mod.io SDK in iOS compiles by default to the simulator. If you need to deploy to a device, add variable `MODIO_IOS_DEVICE` to cmake, for example:

```cmake
cmake -G Xcode -DMODIO_IOS_DEVICE:BOOL=true -DMODIO_PLATFORM:STRING=IOS -B out
```

Using Xcode as a generator, will create the file `out/modio.xcodeproj` which is used to organize and compile the project. To deploy to a device, you need a developer certificate signed by Apple and a provisioning profile that includes at least one target device identified associated to it. 

Check [Apple documentation](https://developer.apple.com/documentation/xcode/devices-and-simulator) to retrieve those elements.

When you have those, update the `Signing And Capabilities` section in Xcode with your corresponding `Bundle Identifier`, `Team` and `Provisioning Profile`.
