Fastlaneでipaを吐き出してみる
iOSのプロジェクトにFastlaneを入れてipaを吐き出してみます。
インストール
fastlaneのインストール
gem install fastlane
プロジェクト直下にGemfileを作成
touch Gemfile
Gemfileを開き下記の2行を追加
source "https://rubygems.org"
gem 'fastlane'
プロジェクト内にインストール
bundle install --path=vendor/bundle
bundlerで入れるとプロジェクト内にインストールされるので、チームで同じversionのfastlaneを使うことができます。
vender/bundle/ruby/2.X.X/gems/fastlane
こんな感じに入っていれば成功です!
bundlerが入っていない場合
入っていない場合は下記のコマンドでbundlerが入ります。
入っている場合は飛ばしてください
gem install bundler
Fastfileの作成
fastlaneで実行する命令はFastfileにlaneという形で記述をします。
まずはfastlaneの作成を行います。
bundle exec fastlane init
なんの目的でfastlaneを聞かれるので、今回は4を選択します。
エンターで進んでいくとfastlaneというフォルダが作成されます。Fastfileを確認したいのでディレクトリを潜ります。
cd fastlane
Fastfile を開きます。
open Fastfile
以下のようなコードがデフォルトで作成されていると思います。
# This file contains the fastlane.tools configuration
# You can find the documentation at https://docs.fastlane.tools
#
# For a list of all available actions, check out
#
# https://docs.fastlane.tools/actions
#
# For a list of all available plugins, check out
#
# https://docs.fastlane.tools/plugins/available-plugins
#
# Uncomment the line if you want fastlane to automatically update itself
# update_fastlane
default_platform(:ios)
platform :ios do
desc "Description of what the lane does"
lane :custom_lane do
# add actions here: https://docs.fastlane.tools/actions
end
end
Laneを作る
赤で塗りつぶしている部分がデフォルトで作成されたlaneです。このlaneを自作のlaneに修正します。
laneの部分を以下のようなコードに書き換えてください。
lane :make_debug_ipa do
gym(
configuration: "Debug",
clean: true,
output_directory: "./build",
output_name: "FastlaneTest.ipa",
export_method: "development"
)
end
ipaの作成
以下のコマンドで実行します。make_debug_ipaとなっているところはlane名なので作成したlane名を記述します。
bundle exec fastlane make_debug_ipa
少し時間がかかると思いますが、エラーなく成功するとBuildフォルダ以下にipaが吐き出されているはずです。
Fastfile全文
# This file contains the fastlane.tools configuration
# You can find the documentation at https://docs.fastlane.tools
#
# For a list of all available actions, check out
#
# https://docs.fastlane.tools/actions
#
# For a list of all available plugins, check out
#
# https://docs.fastlane.tools/plugins/available-plugins
#
# Uncomment the line if you want fastlane to automatically update itself
# update_fastlane
default_platform(:ios)
platform :ios do
desc "Description of what the lane does"
before_all do
## 開始前の処理
end
## ipaを吐き出す自作のレーン
lane :make_debug_ipa do
gym(
configuration: "Debug",
clean: true,
output_directory: "./build",
output_name: "ScrollViewOnTableViewTest.ipa",
export_method: "development"
)
end
after_all do |lane|
## 終了後の処理
end
error do |lane, exception|
## エラー時の処理
end
end