> 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/documentation/test/ios-usb.md).

# iOS USB

<figure><img src="https://1614058754-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FJ5vDGuBZwhJDeu5Rq7Wt%2Fuploads%2Fgit-blob-7e836abe68460fd45df2f2296a1740d1bdc8ea15%2Fiosusb-01.png?alt=media" 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://1614058754-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FJ5vDGuBZwhJDeu5Rq7Wt%2Fuploads%2Fgit-blob-16e3c9ca258e4329c6a81b65e210f1a9bd98dc9f%2Fiosusb-02.png?alt=media" 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://1614058754-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FJ5vDGuBZwhJDeu5Rq7Wt%2Fuploads%2Fgit-blob-a53df45f4b7551dd1bca011e85eed5a4ceb1304a%2Fiosusb-03.png?alt=media" alt=""><figcaption></figcaption></figure>

<figure><img src="https://1614058754-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FJ5vDGuBZwhJDeu5Rq7Wt%2Fuploads%2Fgit-blob-bc28a76ae1017db0f30f1af3c2a26a586ecc6160%2Fiosusb-04.png?alt=media" 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://1614058754-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FJ5vDGuBZwhJDeu5Rq7Wt%2Fuploads%2Fgit-blob-651e5be63cc5953789dd3f975654ef0d85d03970%2Fiosusb-05.png?alt=media" alt=""><figcaption></figcaption></figure>

<figure><img src="https://1614058754-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FJ5vDGuBZwhJDeu5Rq7Wt%2Fuploads%2Fgit-blob-e354915e022ce50dbed72e04dd6641027f355d0d%2Fiosusb-06.png?alt=media" alt=""><figcaption></figcaption></figure>

<figure><img src="https://1614058754-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FJ5vDGuBZwhJDeu5Rq7Wt%2Fuploads%2Fgit-blob-def976087432ccadd3f092a070c35f5267afc2ac%2Fiosusb-07.png?alt=media" 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://1614058754-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FJ5vDGuBZwhJDeu5Rq7Wt%2Fuploads%2Fgit-blob-00b895bc0d4791b4a66e046c94b3a7d52bc23d55%2Fiosusb-08.png?alt=media" 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.
