この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。
はじめに
こんにちは。モバイルアプリサービス部の平屋です。
本記事では、Fabric Betaを使用してiOSアプリをAd Hoc配布可能にする手順を紹介します。
Fabricのサポート終了について
Fabricは現在Firebaseへ統合する作業の最中であり、2019年の中ごろまでにサポートが終了します。
本記事で使用する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 IDとProvisioning Profileを作成します。
- 作成例
- App ID
- Name: AppDistributionSample
- Identifier: XXXXXXXXXX.com.example.AppDistributionSample
- Provisioning Profile
- Type: iOS Distribution (Ad Hoc)
- Profile Name: AppDistributionSample
- App ID
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のラベルをクリックすると、それぞれの値が下に表示されます。
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)
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/
「Manage Groups」をクリックします。
Group name(例: all
)を入力し、Enterを押します。
「Add Testers...」と書かれたテキストフィールドにテスターのメールアドレスを入力し、「+」ボタンをクリックします。
XcodeのSchemeをSharedに変更する
XcodeのManage Schemes画面を開き、ビルド時に使用するSchemeのSharedにチェックを入れます。
さいごに
iOSアプリをFabric Betaで配布可能にする手順を紹介しました。
次の記事では、fastlaneを導入してアプリを配布する手順を扱います。