17
16

More than 1 year has passed since last update.

Apple Developer Enterprise ProgramのIn House配布でアプリを配布する手順

Last updated at Posted at 2020-04-19

In House配布について

Apple Developer Enterprise Programで利用可能な配布方法。AdHocでの配布と違い、インストール先の端末に制限がなく、Provisioning Profileに登録されていない端末にもインストールできる。
ただし、「ADEP契約主体の組織外の人が使う端末にインストールさせてはいけない」とのこと。
また、配布サイトを自作して配布するのが一般的で、配布手順がやや煩雑。
(In House配布に関するHowTo記事では自作サイトで配布する方法が紹介されていることが多かったです。deploygateなどの配布サービスのIn House配布対応については未確認です。)

参考サイト
https://www.micss.biz/2019/11/28/980/
https://medium.com/apps-studio/distributing-enterprise-ios-app-in-house-without-mdm-3ed015009893

Apple公式
https://support.apple.com/ja-jp/guide/deployment/depce7cefc4d/web

本記事におけるIn House配布で使うもの/作成するもの

  • Apple Developer Enterprise ProgramにIdentifierが登録されたアプリ(後述の手順では作成しないので、ご用意ください)
  • In House配布用のProvisioning Profile(後述の手順で作成します)
  • Firebase Hostingで作成した配布用サイト(後述の手順で作成します)

手順

1. Firebase Hostingで配布用サイトを作成

Firebaseにプロジェクトを追加(https://console.firebase.google.com/)、ガイドに従ってプロジェクトを追加
Screen Shot 2020-04-18 at 13.21.43.png
Firebase Hostingを選択
Screen Shot 2020-04-18 at 13.26.02.png
Firebase Hostingでサイト作成
(始めるボタンを押す)
Screen Shot 2020-04-18 at 13.43.07.png
ガイドに従ってサイトを作成
Screen Shot 2020-04-18 at 13.43.18.png
サイト作成では、ローカルでサイトのソースコードを作成/編集して、Firebaseにdeployする
(firebase-toolsで firebase login firebase initHosting を選択)
Screen Shot 2020-04-18 at 17.59.56  masked.png
Use an exsting project を選択
(ここまでの手順でプロジェクトが追加されているはずなので)
Screen Shot 2020-04-18 at 13.49.20.png
public ディレクトリを使うようにして、 single-app にする
(未確認ですが、single-appでなくても問題ないと思います)
Screen Shot 2020-04-18 at 18.03.29.png
Firebase initialization complete! したら firebase deploy でFirebase Hostingにサイトをdeplooyする。この後の手順で編集するが、一旦、配布用サイトの作成が完了
Screen Shot 2020-04-18 at 18.07.53 masked.png

  

2. In House配布用のProvisioning Profileを作成

Provisioning Profileを作成、DistributionIn House を選択
Screen Shot 2020-04-18 at 13.08.26 masked.png

  

3. アプリをビルド

Xcodeでアプリをarchiveし、 Select a method of distributionEnterprise を選択
Screen Shot 2020-04-18 at 14.00.48.png
任意でオプションを設定
Screen Shot 2020-04-18 at 14.01.32.png
Distribution manifest information で以下のファイルのURLを入力(各ファイルは後の手順で配布用サイトに配置)
App URL: 配布用サイトに配置するアプリ(ipa)のURL
Display Image URL: 配布用サイトに配置するアプリのイメージ(任意の画像でOKです)
Full Size Image URL: 配布用サイトに配置するアプリのイメージ(任意の画像でOKです)
Screen Shot 2020-04-18 at 18.53.24.png
Select certificate and iOS In House profiles で In House配布用のProvisioning Profileを選択
Screen Shot 2020-04-18 at 14.05.11 masked.png
export すると、アプリ(ipa)やmanifest.plistがエクスポートされる
Screen Shot 2020-04-18 at 19.10.01.png

  

4. 配布用サイトにアプリとmanifest.plistを配置

ローカルの配布用サイトのディレクトリにある index.html を編集して、配布用サイトにアプリのマニフェストへのリンクを設置。
ポイントはschemeに itms-services:// を指定すること。個人的に、ここで詰まりました。このschemeで起動されるアプリが、manifest.plistをダウンロードして、manifest.plistからアプリダウンロードしてくれるよう。

<!DOCTYPE html>
<html>
  <head>
    <style type="text/css">
      .center {
        text-align: center;
        margin-top: 240px;
      }
    </style>
    <meta charset="utf-8">
    <title>install app</title>
  </head>
  <body>
    <div class='center'>
      <a href="itms-services://?action=download-manifest&url=https://YOUR-FIREBASE-SITE-ROOT-URL/manifest.plist" style="font-size: 36pt;">install app</a>
    </div>
  </body>
</html>

配布用サイトの public ディレクトリにアプリ(ipa)とmanifest.plistを配置
Screen Shot 2020-04-18 at 23.01.08.png
再度、firebase deploy を実行し、アプリ(ipa)とmanifest.plistを配布用サイトに配置
Screen Shot 2020-04-18 at 18.07.53 masked.png

  

5. インストール

配布用サイトに端末のSafariでアクセスし、install app をタップ
Image from iOS (4) masked.png
ポップアップが表示されたら、インストールをタップ、アプリがインストールされる
Image from iOS (3) masked.png

17
16
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
17
16