はじめに
CocoaPodsでライブラリ管理しているアプリをビルドする手順を記載します。
環境
・macOS Catalina 10.15.7
・Xcode 12.2
・CocoaPods 1.10.0
・bash 3.2.57
・bundler 2.1.4
・fastlane 2.170.0
・Visual Studio Code 1.50.1
手順
before_allにcocoapodsを追加
before_all do cocoapods end
ビルドステップでworkspaceを指定
・run_testsの場合
run_tests(workspace: "FastlaneTest.xcworkspace", device: "iPhone 12 Pro", scheme: "FastlaneTest")
・build_appの場合
build_app( workspace: "FastlaneTest.xcworkspace", scheme: "FastlaneTest", configuration: "Release", silent: true, clean: true )
手順の内容を反映したFastfileの一例
手順の内容だけでは反映後の全体像をイメージしにくいかもしれないため、以下を一例として記載。
default_platform(:ios) platform :ios do before_all do ENV["FASTLANE_USER"] = "{Apple Developer Programに登録しているApple IDのアカウント名(メールアドレス)}" ENV["FASTLANE_PASSWORD"] = "{Apple Developer Programに登録しているApple IDのパスワード}" ENV["MATCH_PASSWORD"] = "{matchの実行時に必要なパスワード}" ENV["FASTLANE_APPLE_APPLICATION_SPECIFIC_PASSWORD"] = "{アプリケーション固有のパスワード}" ENV["SLACK_URL"] = "{Webhook URL}" cocoapods end lane :test do run_tests(workspace: "FastlaneTest.xcworkspace", device: "iPhone 12 Pro", scheme: "FastlaneTest", skip_slack: true) end lane :release do sync_code_signing(type: "appstore") increment_version_number increment_build_number build_app( workspace: "FastlaneTest.xcworkspace", scheme: "FastlaneTest", configuration: "Release", silent: true, clean: true ) upload_to_app_store( skip_screenshots: true, skip_metadata: false, force: true ) end after_all do |lane| slack( message: "#{lane} has suceeded!" ) end error do |lane, exception| slack( message: exception.message, success: false ) end end
おわりに
ちょっとした内容系の記事が今後もいくつか続きます・・・。