> For the complete documentation index, see [llms.txt](https://doc.sysdevmobile.com/kalipso/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.sysdevmobile.com/kalipso/6.0/documentation/test/remote-device/ios-usb.md).

# iOS USB

<figure><img src="https://1102213384-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FM6Wz3tBjSWbCweZ8NltT%2Fuploads%2FZso0wPCwAmaYNXP0Izbo%2Fimage.png?alt=media&amp;token=ac9888d0-53d0-4ca9-a05c-46c1097fc974" alt=""><figcaption></figcaption></figure>

## Requirements

* Apple Developer account (paid)
* GitHub account
* iOS device running iOS 17 or later

## Enable Developer Mode on iOS

On your iOS device, go to **Settings → Privacy & Security → Developer Mode** and turn it on. The device will restart.

## Connect the Device

Plug your iOS device into your PC with a USB cable. On the device, tap **Trust This Computer** when prompted.

In **Kalipso > Test**, a new iOS icon appears with your device name. Before you can test, you need:

* An **Apple certificate (.p8)**
* A **GitHub personal access token**

The next sections walk through both.

## Apple Certificate

In this section you'll get three things from Apple: the **.p8 certificate**, the **Key ID**, and the **Issuer ID**.

Go to [App Store Connect → Users and Access → Integrations](https://appstoreconnect.apple.com/access/integrations/api)\
or\
sign in at [developer.apple.com/account](https://developer.apple.com/account) and navigate to:\
**App Store Connect > Users and Access > Integrations**.

<figure><img src="https://1102213384-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FM6Wz3tBjSWbCweZ8NltT%2Fuploads%2FpkGhtljP04OWuE0laEez%2Fimage.png?alt=media&amp;token=7ea9c194-1e2e-4afd-941c-efe0e0d222f6" alt=""><figcaption></figcaption></figure>

### Create the P8 key

1. Click the **+** button to create a new key.
2. Give it a name and set the role to **App Manager**.
3. Download the certificate (`.p8` file).
4. Copy the **Key ID** and **Issuer ID** shown on the page.

{% hint style="warning" %}
You can only download the `.p8` file **once**. Keep it in a safe place.
{% endhint %}

## GitHub Token

1. Create a new GitHub repository.
2. In your GitHub account, go to **Settings → Developer Settings → Personal access tokens →** [**Fine-grained tokens**](https://github.com/settings/personal-access-tokens).
3. Click **Generate new token**, give it a name and an expiration date.
4. Under **Repository access**, select the repository you just created.
5. Under **Repository permissions**, set:
   * **Metadata** — Read-only
   * **Actions, Administration, Contents, Secrets, Workflows** — Read and write

{% hint style="warning" %}
The token is shown only once. Copy it and keep it in a safe place.
{% endhint %}

<figure><img src="https://1102213384-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FM6Wz3tBjSWbCweZ8NltT%2Fuploads%2FRU7EQAfJIuobLonad20c%2Fimage.png?alt=media&amp;token=5fc3de8b-5988-44ae-bd86-fd4a4a3c21e0" alt=""><figcaption></figcaption></figure>

<figure><img src="https://1102213384-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FM6Wz3tBjSWbCweZ8NltT%2Fuploads%2Fd2xyHMQSCsHvYaJE9Z6Y%2Fimage.png?alt=media&amp;token=96c5288d-1ea3-492d-bd49-2fbd72a61628" alt=""><figcaption></figcaption></figure>

## Install KClient and Upload Your Project

You now have everything needed. In Kalipso:

* **Apple API** tab — select the `.p8` certificate and fill in the **Key ID** and **Issuer ID**.
* **GitHub** tab — paste the token and select the repository.

Kalipso will use GitHub to sign `kclient.ipa` with your Apple certificate and install it on your iOS device — no Mac required.

{% hint style="info" %}
If signing fails, see [Troubleshooting](#troubleshooting) below.
{% endhint %}

<figure><img src="https://1102213384-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FM6Wz3tBjSWbCweZ8NltT%2Fuploads%2Fr3tKboM1nacmJiggHNfX%2Fimage.png?alt=media&amp;token=940241b7-079b-48d2-b758-2728c2ca9374" alt=""><figcaption></figcaption></figure>

<figure><img src="https://1102213384-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FM6Wz3tBjSWbCweZ8NltT%2Fuploads%2FvY0oeJciFlQMt8qMmQzn%2Fimage.png?alt=media&amp;token=0c495367-451f-4e29-8fd0-0e91ffb3f019" alt=""><figcaption></figcaption></figure>

<figure><img src="https://1102213384-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FM6Wz3tBjSWbCweZ8NltT%2Fuploads%2FZNslihBW92vi2oPI5FZ6%2Fimage.png?alt=media&amp;token=a95e6db5-e2e3-45de-981c-45f794b811b1" alt=""><figcaption></figcaption></figure>

## Troubleshooting

### Certificate limit reached

If signing fails, it's usually because your Apple account has reached the maximum number of **iOS Development** certificates allowed. You need to revoke one before you can create a new one.

<figure><img src="https://1102213384-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FM6Wz3tBjSWbCweZ8NltT%2Fuploads%2FM9PAghovQwiOSI3griwg%2Fimage.png?alt=media&amp;token=aa1ee216-4135-4cee-b9e5-dd5d38229c8c" alt=""><figcaption></figcaption></figure>

1. Go to [Certificates, Identifiers & Profiles](https://developer.apple.com/account/resources/certificates/list) (or [developer.apple.com/account](https://developer.apple.com/account) → **Certificates**).
2. Revoke one existing **iOS Development** certificate.
3. Try again from Kalipso.
