最近、CI / CDプロセスの一部としてアプリ配布の実装を任されました。一般的にDevOpsにアレルギーがあるので、私はすぐにCodeMagicにたどり着きました。残念ながら、クライアントはAzure DevOpsの使用を必要としていました😞が、明るい面として、Firebase AppDistributionの使用が許可されました。このようにして、これらの可動部品を最小限の侵襲で統合する旅が始まりました。 Azure DevOpsの統合について簡単に触れますが、このチュートリアルは、可能な限りプラットフォームに依存しないことを目的としています。結局のところ、私たちはFlutter開発者です—拘束されることを信じていません! 前提条件 Flutterアプリケーションのセットアップ iOSプロビジョニングプロファイルの設定 Firebaseでのアプリケーションの設定 この記事をモバイルデバイ
はじめに Studyplus開発部のiOSエンジニアの id:kurotyann です。2015年に入社してもうすぐで3年になろうとしています。 今回の開発者ブログは、弊社のiOSアプリ「Studyplus」 のCI環境について紹介しながら、fastlaneでCode Signing Styleを変更する方法を説明します。 Studyplus iOSのCI環境 図で説明すると下記のような構成です。他にもツールを使用していますが、基本的な流れはこのような感じです。 CI環境の構成 Code Signing Styleについて Code Signing Styleは、XcodeのプロジェクトのBuild Settingsから確認でき、AutomaticとManualの2種類を選択できます。Automaticの場合、Xcodeが適切なタイミングで開発に必要な証明書やProvisioning Pr
Photo by an_vision on Unsplashこれまでは `flutter build ios`とアーカイブの2つの手順が必要だったFlutterで、iOS向けのビルドをしてApp Store Connectなどにアップロード可能なipaファイルを得るにはこれまで以下の2つの手順が必要でした。 flutter build iosXcodeアプリを使ってArchive実行(コマンドなら、fastlaneの build_app ( gym ) など)バージョン 1.24.0–6.0 以降では `flutter build ipa` だけで済むようになった1.24.0-6.0以降のバージョンのFlutterでは flutter build ipaでそれらをまとめて1コマンドで実行できるようになりました 🎉 (2020年12月11日時点では beta以降のchannelで利用可能で
iOS アプリを開発する中で、社内をはじめ限定的なメンバーだけに絞って開発中のアプリを配信することはよくあるシーンです。 TestFlight に DeployGate に Fabric…いや、Fabric は 5/4 に close してましたね。 note では iOS/Android アプリ開発ともに Firebase App Distribution を利用しています。社員の G Suite ドメインに限定してインストール可能にしたダウンロードリンクを生成して社内でシェアしています。 この運用でいつも問題になるのが新規端末からアクセスされたときの UDID 反映です。 作業の流れとしては 1. 新規端末からダウンロードしようとすると Firebase から管理者へメールが飛ぶ(アクセスしたメンバーのメルアドと端末の UDID 付き) 2. メールにある UDID を Provisi
こんにちは。技術部モバイル基盤グループの @giginet です。 fastlaneのCore Contributorを務めており、 社内ではプロのコードサイン解決者 *1 としての職務経験を積んでいます。 今回はクックパッドでのfastlaneを使ったiOSアプリのサブミット自動化と、証明書管理についての事例を紹介したいと思います。 CIによるiOSアプリサブミットの自動化 クックパッドでは、昨年の春頃よりiOSアプリのサブミットをチャットbot経由で行っています。 このように、Slack上でサブミットジョブを実行すると、CIでアプリがビルドされ、審査提出までを完全自動で行ってくれます。 審査提出には、ビルドや処理待ちの時間を含めると多くの工数がかかり、人為的なミスが起こる可能性もありましたが、 完全な自動化により、高頻度のアプリリリースに耐えられるようになりました。 アーキテクチャは以
iOSのfastlane matchで既存の証明書をそのまま利用として困ったので書くことにします。 もともとこちらを参考に対応したところエラーが。。。 qiita.com NameError: uninitialized constant Match::GitHelper えー。。って思い調査 そしたらこんなissueが github.com あーーー、なるほど! rubyのバージョンね! 納得(^ω^) 細かい差分はこちらの記事に書いてありました。 medium.com つまりまとめると 2.105.2以下はこちら irb(main):001:0> require 'match' irb(main):002:0> git_url = 'git@github.com:path-to/the-encrypted-certs-repo.git' => "git@github.com:path-
fastlaneを利用してのAppStoreConnectへの配布には、2FA(2段階認証)の対策のためにApp用シークレットを用意したりといろいろ面倒でした。しかし、昨年AppStoreConnect APIがリリースされ、ついにfastlaneがこのAPIをサポートしました🎉(正確には2.162.0でmatchのサポートが入ったのでかなり使いやすくなったという感じです) fastlaneチームの方々にはいつも本当に感謝しかありません。⭐を送るなどして応援しましょう! App Store Connect APIを使うと何が嬉しいのか 👆こちらのページを見てみましょう。 Benefitとして以下の4つが記載されています。 No 2FA needed Better performance Documented API Increased reliability 2FAが不要になり、パフォ
こんにちは。このブログでは初登場の吉岡(@rikusouda) です。GunosyではLUCRAのiOSアプリ開発をメインにやっています。try! Swift Tokyo 2019の開催が近づいてきて、そろそろ楽しみで夜も眠れなくなってきますね。 今回LUCRAのiOSアプリのビルド番号を自動で設定するように運用を変えました。しかし要件を満たす実現方法になかなかたどり着くことができず色々と調べて回りました。やり方さえわかれば本来はそんな苦労をしなくとも fastlane や Bitrise を使うことでシュッと実現できるのでそのあたりをまとめました。 iOSアプリのビルド番号とは ビルド番号の目的 ビルド番号の特性 LUCRAでの運用 概要 fastlaneによる設定方法(Bitriseは使っていなくても良い) Xcode での project.pbxprojの設定 App Storeに配
環境変数追加後は以下のように表示されます。 最後にテスト実行完了後に前回のコードカバレッジレポートと比較する処理を追加します。ここで、 @u-minor さんの CircleCIで計測したカバレッジ変化をSlackに晒す - Qiita で紹介されている神スクリプトを利用します。 Fastfile と .circleci/config.yml を以下のように変更しましょう。 fastlane_version "2.69.2" default_platform :ios platform :ios do desc "Runs all the tests" lane :test do scan( scheme: "[Your Xcode Scheme]", device: "iPhone 8 Plus", code_coverage: true, clean: true ) slather(
はじめまして、ビズリーチ・キャンパスでiOSアプリエンジニアをやっている河内です。 河内と書いてコウチと読みます。 今回は、iOSアプリ開発で誰もが苦しめられる証明書関連についてお話したいと思います。 はじめに 私は2012年にビズリーチに入社しました。 当時はまだ社員は100人もいなくて、アプリは1つもありませんでした。 それからビズリーチで初めてアプリを開発する段階から私は関わってきたのですが、今となっては多くの事業が立ち上がり、アプリも増えました。 現在はサービス(事業)ごとに開発チームが存在していて、そのうちアプリを持つチームが6つもあります。 iOSアプリを開発するためには、AppleのDeveloperページから証明書を作成する必要があります。 チームが増えて、これらを管理する手間が徐々に増えてきたところで、fastlane match (以下match)を導入して証明書管理の
FolioのiOSチームではさまざまなタスクをそこそこ高度に自動化していると思うので、(そのまま別のプロジェクトで使いまわせるほどポータブルではないけど)参考にしてもらえる部分はけっこうありそうと思うので公開リポジトリに置いてみました。 github.com 簡単に解説します。 Fastfile lane :snapshot_test Folioアプリのユニットテストはいわゆる一般的なロジックテストに加えてスクリーンショットを用いたスナップショットテストがあります。 GitHub - uber/ios-snapshot-test-case: Snapshot view unit tests for iOS 目的は修正によって意図しない影響が起こっていないことを検証するためと、現状の画面の一覧をGitHubで変更管理したいからです(これについては詳細を後述)。 (ボタンを追加したら関係ないは
Apple Developer ProgramからいつものYour iOS Distribution will expire in 30 daysというメールが来た。fastlane matchでProvisioning Profileを一から作ったことがなかったので、その時やったことのメモ。 やること Ceritificates を作り直す 新しいCertificates に紐づくProvisioning Profileを作る Certificates を作り直す Apple Developer Programにログインする Account -> Certificates, IDs & Profilesを選択 Production で絞り込み 新規Certificatesの作成 App Store and Ad Hoc を選択し、Certificateを作成 新しいCertificate
背景 APIの向き先とかをTargetを増やしてswiwt other flagsで#if DEBUGとか#if STAGINGでやってる。ので環境が増えるたびにtargetが増えていってしまうのでやめたい。 実行時に環境変数的に値を渡せないか SchemeのPre-actionsで追加する Build、Run、Test、Archiveで共通して書けるのは、Pre-actionsとPost-actionsである。 ここにはshが書ける。ここのshの中で、export HOGE=1を書いてプログラム内から取得できるか。 #if HOGE -> ダメ NSProcessInfo.processInfo().environment["HOGE"] -> ダメ InfoPlistにcustom keyを追加して、valueに$(HOGE) -> ダメ Build SettingsにUser-Def
ユーザーグロースチームの永島 (@hedjirog) です。 fastlaneの登場により、iOSアプリ開発の様々な作業が簡単に自動化できるようになりました。 あなたがApp Storeへアプリを公開したことがあるなら、手順が多くて面倒なアプリ申請作業も経験したことがあるはずです。fastlaneを利用すれば、面倒なアプリ申請作業さえも簡単に自動化することができます。 今回は、Wantedlyでも実践しているfastlaneを利用したアプリ申請作業を自動化する手順を紹介します。 自動化のメリットアプリ申請作業の自動化によるメリットはいくつもあります。 まず、申請作業に対する心理的な負担が減ります。iOSアプリは審査期間に時間を要することが多く(最近はAppleにより改善されつつありますが)、リリース後に不具合を含むと発覚した場合の迅速な対処が難しいことから、一定の検証を完了してから申請を行
CircleCI 2.0 が iOS ビルドにも来たので試したところ、デフォルトでは fastlane match で鍵・証明書・PPをインストールする仕様になっていたので 今やっている仕事では CloudFunctions / iOS / Android のテスト・ビルドや配信で CircleCI を使っているので、コスト削減や最新バージョンに追いついておく意味で早く CircleCI 2.0 に移行したいと思っていました。 今月 iOS の OS X ビルド環境が対応したという連絡が来て早速試したところ、これまではプロジェクトの設定画面で設定しておくことで環境のキーチェーンやディレクトリに入るようになっていた秘密鍵・証明書・PPが、 fastlane match コマンドでインストールするようになっていました。 fastlane match は iTunes のアカウントパスワードを抱
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く