※(注)Xcode7以上では有料の Apple Developer Program に登録しなくても実機テストが出来るようですが、そのやり方ではありません
Apple Developer Program登録済みで実機テストを行った時のメモ。なお、Productionではなく、Developmentです。
参考
環境
- MacOSX El Capitan 10.11.6
- Xcode8.0
- iPodTouch(iOS 9.3.5)
目次
- iOS Certicicates(Development)の作成
- 実機の登録
- AppIDの作成
- ProvisioningProfileの作成
- アプリの作成
- 実機でのアプリの実行
iOS Certicicates(Development)の作成
実機でアプリを動作させるためにProvisioningProfileを作成し、実機にインストールする必要があります。
上記ProvisioningProfileを作成する際に利用する証明書を作成します。
Webでも出来ますが、今回はXcodeからやってみます。
- XCodeを起動
- XCode->Preference
- Accountタブを選択
- 画面右下の「+」ボタンを選択し、Add AppleIDを選択
- AppleID及びパスワードを入力
- 成功するとアカウントが追加されるので、選択後、画面左下のViewDetailsを選択
- iOS DevelopmentでCreateを選択し、Done
これでWebでAppleDeveloperを見るとDevelopmentの証明書の登録が確認できました。
便利。
実機の登録
テストする実機を登録します。
こちらはXcodeから現状できなそうだったので、Webでやってみました。
ios developerに開発用デバイスを追加する(xcode6.0, ios8)
- 端末をMacに接続
- XCodeを起動する
- Window->Devicesを選択
- 接続されている端末を選択し、Identiferを確認
- AppleDeveloperの画面を表示し、Cerfiticates,IDs & Profilesを選択
- Devices->Allで右上の「+」を選択
- Nameに任意の名前、UUIDに先程メモしたIdentiferを入力
登録後、WebのDevicesから確認できます。
AppIDの作成
対象のアプリのAppIDを作成します。
Webでやります。
なお、設定はあとでAPNsのテストがしたいので、Push Notificationを有効にして作成しています(本投稿ではAPNsの設定はしません。別途時間があれば書きたい。。。)
AppleDeveloperにログイン後、Cerfiticates,IDs & Profilesを選択。
次に表示される画面で Identifies->App IDsを選択。
既に選択されているAppID一覧が表示される+ボタンを押して追加の画面に遷移します。
- App ID Description->AppIDを識別するために分かりやすい名称とします。
- App ID Suffix->恐らくiOSアプリを作成する時のOrganization Identifierと合わせる必要があるように伺える。Explicit App IDでは厳密に指定し、Wildcard App IDではcom.domainname.*という感じで書けるようです。PushNotificationを使う場合、Explicit App IDの必要があるので、今回はこちらを指定
- App Services-> Push Notificationにチェックを入れます
作成が完了すると一覧画面で登録内容が確認できます。
ProvisioningProfileの作成
実機にインストールが必要なProvisioningProfileを作成します。
こちらもWebで行います。
AppleDeveloperにログインし、Cerfiticates,IDs & Profilesを選択。
次にProvisioning Profile->Allを選択し、右上の「+」を選択肢、証明書を追加します。
- Developmentの iOS App Development を選択し、次の画面で対象のAppIDを選択
- 作成した証明書(XCodeから作成した開発用の証明書)を選択
- 登録したデバイスをチェック
- ProfileNameを登録
これでプロビジョンファイルがダウンロードできます。ダウンロード後は任意の場所に配置しておきます。
XCodeに登録されているか確認するためにXcodeを開き、Xcode->Preferenceから対象のAppleIDを選択したのですが、画面のProvisioning Profilesにも何も表示されていませんでした。。。
調べてみると以下の記事が。。。
Xcode 7でProvisioning Profileを更新する方法
一度登録されたAppleIDを削除し、再度AppleIDを追加してみると表示されました。。。ぐぬぬ。。
この画面で対象のProvisioningFileを選択し、右クリックでShow in Finderで場所がファイル配置場所も分かります。(ダウンロードできましたが、Xcodeで管理したほうが良いと思います)
なお、このタイミングでXcodeで Window->Devices->自分のデバイスを選択->右クリック後、Show Provisioning Profilesで確認するとProvisioning Profileが実機にインストールされていました。(Xcodeに登録されたから???)
アプリの作成
テスト用のアプリを作成します。
- Xcodeを開く
- Create a new Xcode project を選択
- テンプレートではiOS、SingleViewApplicationを選択
- Teamというのが選択できるので、Apple Developer Program のTeamを選択。LanguageでSwiftを選択(Objective-Cでも良いです)。Organization IdentifierはAppID設定時と同じものを指定(検証したら同じでなくても大丈夫そうでしたが同じにします)
- プロジェクトを配置する任意のフォルダを選択
プロジェクトが開かれるとxxxx.xcodeprojというファイルにSigningという項目があり、ここでチェックが行われているようでした。設定がだめだとここでエラーが表示されるのではないかと思います。
実機でのアプリの実行
画面右上のアプリ実行端末を選ぶ所でエミュレーターではなく、自分の実機を選択します。
次にxxxx.xcodeproj(プロジェクトを開くと最初に表示されるファイル)を確認します。
こちらのDevelopment InfoのDeployment Targetを確認します。自分の環境ではiPodTouchが iOS10 でなかったため、こちらでiOS9.3を選択しました。ここが実機と合っていないとエラーとなるようです。
準備ができたら、画面左上の再生ボタンを押します。
問題がなければこれで実機にアプリがインストールされ、実行できます。
お疲れ様でした!