Swiftで書かれたiOSアプリをTravis CIでビルドしてFabric Beta / TestFlightで配信する
Swiftで書かれたiOSアプリをTravis CIでビルドしてFabric Betaで配信するまでのポイントまとめ。
.travis.ymlのlanguageはobjective-cにする
Swiftで書かれたiOSアプリの場合は、.travis.ymlにこんな感じに書きたいところだが、
language: swift
以下のエラーが発生してしまうため、
/home/travis/build.sh: line 42: /usr/local/bin/actool: Permission denied
次のように書く必要がある。
language: objective-c
証明書や鍵やProvisioningProfileは暗号化する
これはGitリポジトリを公開している場合などに必要な作業であって、プライベートリポジトリなどでは不要。
各ファイルの暗号化や、暗号化パスワードの.travis,ymlへの埋め込み、TravisCI上での復号化については以下のページが参考になる。
Travis CI for iOS · objc.io
暗号化する前の元ファイルをGitリポジトリに追加しないように注意。
ProvisioningProfileはFabric Betaの場合はAd-Hoc、TestFlightの場合はAppStoreを使う
Fabric Betaで配信する場合はProvisioningProfileはAd-Hoc、
TestFlightで配信する場合はProvisioningProfileはAppStoreにする必要がある。
Travis CI上でshを呼び出す場合は実行権限を付与する
chmod a+x xxxxxxxx.sh
Bundle InstallやCocoaPods Installが毎回実行されないようにキャッシュする
cache: directories: - vendor/bundle - Pods
Travisの公式サイト上で紹介されている以下のような書き方では、自分の場合はGithub->Travisに連携しなくなってしまった。
cache: - bundler - cocoapods