IOS AdHoc 配布

iOS モバイル アプリケーション開発 への移動


iOS アプリケーション開発用の開発環境を構成し、アプリケーションの配布用プロビジョニング プロファイルを作成し、プラットフォーム構成「アドホック」向けに RAD Studio にプロビジョニング プロファイルを構成する作業が問題なく終了したら、アドホック配布用にアプリケーションを配置することができます。「アドホック」というプラットフォーム構成については「サポートされているターゲット プラットフォーム」で説明しています。

このトピックでは、モバイル アプリケーションをアドホックに iOS デバイスに配布する方法を説明します。

  • モバイル プロビジョニング プロファイルを iOS デバイスにインストールする。
  • アプリケーション用のアプリケーション アーカイブ ファイル(.ipa)を生成する。
  • アプリケーションを iOS デバイスにインストールする。

モバイル プロビジョニング プロファイルを iOS デバイスにインストールする

プロジェクト開始時に作成したアドホック配布用の配布用プロビジョニング プロファイルを iOS デバイスにインストールする必要があります。Mac 上でモバイル プロビジョニング プロファイル ファイル(.mobileprovision)を探す方法は、「モバイル プロビジョニング プロファイル」を参照してください。

プロビジョニング プロファイルを iOS デバイスにインストールするには、Mac で、Dock 上にある Xcode、iPhone 構成ユーティリティ、または iTunes のアイコンへとプロビジョニング プロファイル ファイルをドラッグします。詳細については、Apple 社のドキュメントを参照してください。

アプリケーション用のアプリケーション アーカイブ ファイルを生成する

IOS AdHoc 配布

IOS AdHoc 配布

アドホック配布用にバンドル生成の準備ができたプロジェクト

アプリケーション用のアプリケーション アーカイブ ファイルを生成する手順は以下のとおりです。

  1. Mac 上でプラットフォーム アシスタントを実行します。
  2. RAD Studio の[プロジェクト マネージャ]で以下を行います。
    1. [ビルド構成]ノードを展開し、[Release]構成か、署名済みアプリケーション パッケージのビルドに使用するその他のプラットフォーム非依存構成をダブルクリックします。
    2. [ターゲット プラットフォーム]ノードを展開し、[iOS デバイス]ターゲット プラットフォームをダブルクリックして、そのプラットフォームを選択します。選択したターゲット プラットフォームが太字で表示されます。
    3. [iOS デバイス]ノードを展開し、ノード内の[構成]ノードを展開します。[アドホック]プラットフォーム構成ノードをダブルクリックして、そのプラットフォーム構成を選択します。選択したプラットフォーム構成が太字で表示されます。
  3. [プロジェクト|配置]を選択し、[配置]
    IOS AdHoc 配布
    ボタンをクリックしてアプリケーションを配置します。

RAD Studio によって、IDE に既に追加されている SDK を使ってアプリケーションがビルドされ、iOS デバイス プラットフォーム用に構成した接続プロファイルを使って Mac への接続が行われます。また、Mac 上で動作しているプラットフォーム アシスタントによって、アドホック配布用にアプリケーションが準備されます。

その後、Mac 上で生成されたアプリケーションが開発用システムへとコピーされます。最終的なアプリケーション ファイル(.ipa)は、プロジェクト フォルダ内に置かれます(<プロジェクト フォルダ>\iOSDevice\<選択した構成名>\<プロジェクト名>.ipa)。たとえば C:\Users\Username\Documents\RAD Studio\Projects\ProjectFolder\iOSDevice\Debug\ProjectName.ipa のようになります。

アプリケーションを iOS デバイスにインストールする

アプリケーションを iOS デバイスにインストールするには、Mac で、Dock 上にある Xcode、iPhone 構成ユーティリティ、または iTunes のアイコンへとアプリケーション アーカイブ ファイルをドラッグします。詳細については、Apple 社のドキュメントを参照してください。

ヒント: アプリケーション アーカイブ ファイルを開発用 PC から Mac に移す必要はありません。元のアプリケーション アーカイブ ファイルが Mac のスクラッチ ディレクトリ内にあるためです。

関連項目

  • Mac と PC を連携させる
  • iOS アプリケーションを App Store への提出用に配置する
  • クロスプラットフォーム アプリケーションの配置

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

はじめに

こんにちは。モバイルアプリサービス部の平屋です。

本記事では、Fabric Betaを使用してiOSアプリをAd Hoc配布可能にする手順を紹介します。

Fabricのサポート終了について

Fabricは現在Firebaseへ統合する作業の最中であり、2019年の中ごろまでにサポートが終了します。

  • Fabric Roadmap – Fabric

本記事で使用するFabric Betaも同様にサービス終了する見込みです。2018/12/17現在、Fabric Betaの代替サービスであるFirebase App Distributionが未提供であるため、本記事ではFabric Betaを使用します。

検証環境

  • macOS Mojave 10.14
  • Xcode Version 10.0 (10A255)
  • CocoaPods 1.5.3

前提条件

  • Xcodeプロジェクトは新規で作成する
  • マニュアルでsigningする
  • CocoaPodsでFabric, Crashlyticsを導入する
  • CocoaPodsはXcodeプロジェクトのディレクトリ内にインストールする

目次

  • プロジェクトを作成する
  • Fabric, Crashlyticsをプロジェクトに追加する
  • FabricのRun Scriptをプロジェクトに追加する
  • Fabricにアプリを追加する
  • Fabric Betaのテスターのグループを作成する
  • XcodeのSchemeをSharedに変更する

プロジェクトを作成する

Xcodeで新規プロジェクトを作成します。

  • 設定例
    • Product Name: AppDistributionSample
    • Organization Identifier: com.example
    • Bundle Identifier: com.example.AppDistributionSample

https://developer.apple.com/App IDProvisioning Profileを作成します。

  • 作成例
    • App ID
      • Name: AppDistributionSample
      • Identifier: XXXXXXXXXX.com.example.AppDistributionSample
    • Provisioning Profile
      • Type: iOS Distribution (Ad Hoc)
      • Profile Name: AppDistributionSample

XcodeでTARGET > Generalを開き、以下の操作を行います。

  • Signingセクションの「Automatically manage signing」のチェックをはずす
  • Signing (Release)セクションのProvisioning Profile > Download Profile > をクリックする
    • 先ほど作成したProfileを選択し、「Select Profile」をクリックする

Fabric, Crashlyticsをプロジェクトに追加する

Gemfile, Podfileをプロジェクトディレクトリのルートに追加します。

# Gemfile
source 'https://rubygems.org'

gem 'cocoapods'
# Podfile
platform :ios, '11.0'
use_frameworks!

target 'AppDistributionSample' do
    pod 'Fabric'
    pod 'Crashlytics'
end

以下のコマンドを実行します。

  • $ bundle install --path vendor/bundle
  • $ bundle exec pod install

FabricのRun Scriptをプロジェクトに追加する

API Key, Build Secretを確認する

Fabricのorganizationページ(https://fabric.io/settings/organizations/xxxxx 形式)を開き、API Key, Build Secretを確認します。

API Key, Build Secretのラベルをクリックすると、それぞれの値が下に表示されます。

IOS AdHoc 配布

Run Scriptをプロジェクトに追加する

XcodeでTARGET > Build Phasesを開いて「+」ボタンをクリックし「New Run Script Phase」を選択します。

Run Script Phaseが追加されるので、以下の操作を行います。

  • スクリプトの入力欄に以下を入力する
    • ${PODS_ROOT}/Fabric/run" <API Key> <Build Secret>
  • 「Input Files」セクションの「+」ボタンクリックし以下を入力する
    • $(BUILT_PRODUCTS_DIR)/$(INFOPLIST_PATH)

IOS AdHoc 配布

Fabricにアプリを追加する

Info.plistを更新する

Fabricに関する設定値をInfo.plistに追加します。

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>

  ...

  <key>Fabric</key>
  <dict>
    <key>APIKey</key>
    <string>Enter Your API Key Here</string>
    <key>Kits</key>
    <array>
      <dict>
        <key>KitInfo</key>
        <dict/>
        <key>KitName</key>
        <string>Crashlytics</string>
      </dict>
    </array>
  </dict>

  ...

</dict>
</plist>

AppDelegateにコードを追加する

Fabric, Crashlyticsを初期化するコードをAppDelegateに追加します。

import UIKit

// 追加
import Fabric
import Crashlytics
// 

@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {
    func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
        // 追加
        Fabric.with([Crashlytics.self])
        // 
        return true
    }
}

アプリをRunする

アプリをRunすると、Run Scriptが走り、Fabricにアプリが追加されます。

アプリが追加されると以下のようなタイトルのメールが配信されます。

  • AppDistributionSample (com.example.appdistributionsample on ios) was just successfully added

Fabric Betaのテスターのグループを作成する

アプリ配布対象のテスターのグループを作成します。

Fabricで該当アプリのページ(https://fabric.io//ios/apps//issues 形式)を開き、「beta」をクリックします。

IOS AdHoc 配布

「Manage Groups」をクリックします。

IOS AdHoc 配布

Group name(例: all)を入力し、Enterを押します。

IOS AdHoc 配布

「Add Testers...」と書かれたテキストフィールドにテスターのメールアドレスを入力し、「+」ボタンをクリックします。

IOS AdHoc 配布

XcodeのManage Schemes画面を開き、ビルド時に使用するSchemeのSharedにチェックを入れます。

IOS AdHoc 配布

さいごに

iOSアプリをFabric Betaで配布可能にする手順を紹介しました。

次の記事では、fastlaneを導入してアプリを配布する手順を扱います。

参考資料

  • Crashlytics for iOS - Fabric Install

iOS AdHocの台数は?

1つのメンバーシップで、1年間にテスト用およびAd Hoc配信用に登録できるデバイス台数は、デバイスタイプごとに100台までです。

Apple AdHocの制限は?

ですので、事前にインストールしたいデバイスを登録しておく必要があり、Apple Developer Program のアカウントで登録できる数に限りがあります。 上限は、現在は iPhone 100 デバイス、iPad 100 デバイス、、のように、それぞれの種類ごと 100 デバイスずつになっています。

TestFlightの台数制限は?

デベロッパがApp開発のイテレーションを行う間、メンバーは各自最大30台のデバイスでテスト用のベータ版ビルドをすばやくテストし、入手可能なすべてのベータ版ビルドにアクセスしてテストすることができます。

iOS アプリの期限は?

もし社内配信している iOS アプリのプロビジョニングプロファイルの有効期限が切れるとどうなる? プロビジョニングプロファイルの有効期限は作成後1年です。 この有効期限が切れるとどうなるか。 アプリがある日を境に起動しなくなります。