Help us understand the problem. What is going on with this article?

フリーランス開発者が「初めてでやり方が分からないクライアント」から受託した場合のiOS証明書

前提

  • フリーランスの開発者が、iOSの開発案件を受託しました。開発者はApple IDを取得済みです。
  • クライアントは、既にApple Developer Programに参加済みのiOSアプリの配給元であり、Developer Consoleが使用できます。ただし、初めてでやり方が良く分かりません。
  • 双方とも、Macが使用可能です。
  • コンソールの使用方法についての情報は巷に溢れているし、UIが繁く変わるので、この記事では扱いません。

手順

概念図

iOS 証明書.png

配給元と開発者の証明

  1. 開発者側作業
    1. Macで、キーチェーンアクセスを開きます。
    2. 開発者のApple IDと名前で証明書要求ファイル(.certSigningRequest)を作り、自身のApple IDとともにクライアントに渡します。
  2. クライアント側作業
    1. Macで、キーチェーンアクセスを開きます。
    2. クライアントのApple IDと名前で証明書要求ファイル(.certSigningRequest)を作ります。
    3. 作った証明書要求ファイルを使い、Developer Consoleで、iOS Distribution証明書を作ります。
    4. 作ったiOS Distribution証明書ファイル(.cer)をダウンロードして、キーチェーンアクセスに登録します。
    5. 登録した証明書から個人情報交換ファイル(.p12)を書き出します。
    6. 開発者から受け取った証明書要求ファイルを使い、Developer Consoleで、iOS Development証明書を作り、証明書ファイル(.cer)をダウンロードします。
    7. 開発者から得たApple IDをApp Store Connectに登録して開発者としてのロールを与えます。
    8. 書き出した個人情報交換ファイル(.p12)と、ダウンロードしたiOS Development証明書(.cer)ファイルを開発者に渡します。
  3. 開発者側作業
    1. クライアントから受け取った二つのファイルをキーチェーンアクセスに登録します。

アプリの証明

  1. 開発者側作業
    1. クライアントにテストデバイスのUDIDを伝えます。
  2. クライアント側作業
    1. Developer Consoleで、アプリを登録します。
    2. 続けて、クライアントが使用するテストデバイスのUDIDと、開発者から得たUDIDを登録します。
    3. 最後に、テストに使うデバイスを指定して、アプリのProvisioning Profileを生成します。(開発者に手渡す必要はありません。)
  3. 開発者側作業
    1. Xcodeでアーカイブを実行する際に、適切に指定します。

XcodeのOrganizerでうまくいかない場合

  • Signingを自動にせず手動を試してみましょう。
  • Xcode > Preference > Accounts を確認しましょう。
  • Xcode > Product + Option > Clean Build Folder... を試してみましょう。
  • Macを再起動してみましょう。(まれによくある)
  • Apple側の不具合を疑ってみましょう。サポートに問い合わせを出せます。
    • 何をやってもダメなので問い合わせたら「サーバの不具合でした」ということがありました。
  • 諦めて寝ましょう。
    • Appleからの返答は時間がかかります。しかし、不具合なら翌日には直っているかも知れません。

更新作業

  • 各証明書には有効期限があり、年次更新が必要です。

あとがき

  • アプリ開発者が自分で配給する場合の情報は豊富ですが、委託側と受託側に作業を分離して双方を網羅した情報が乏しかったので記事にしてみました。
  • 想定が妙に具体的ですが、特定の企業や個人とは関係ありません。(ありませんてばありません!)
Why do not you register as a user and use Qiita more conveniently?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away