CodemagicでFlutterアプリのビルド・配信をする— iOS编

版本

基本的には稳定や特定バージョンを指定するのがセオリーだと思いますが,リリース前は手元でBeta最新で开発していればそれに合わせたりするのが良いかなと思いました。

模式

配信用途の场合は发布にするのが普通です。

为平台打造

今ルド设定を调整するときは片方だけ(今回の场合iOSだけ)にしておくと时间の节约になります。

建立参数

で肝です。Flutter环境设置和剪切— iOS编で调整したようにビルドしたい设置を--releaseは选択肢で设置済みな,で以及を入力します。

环境変数として$BUILD-NUMBERが使えるので, -build-number=に与えます。

ちなみにprintenvで调べたところ,Codemagicの环境変数には以下が设定されていました。

预构建脚本でのワークアラウンド

上の设定だけでうまくいくと嬉しいのですが,ビルドを成功させるためにPre build scriptの栏に以下を追加する必要がありました。

  #!/ bin / sh 
set -e#在第一个失败的命令集上退出
set -x#将所有已执行的命令打印到日志中
  #问题的解决方法#21335 
/ usr / bin / plutil -replace CFBundleIdentifier -string com.mono0926.flavor.staging2 ios / Runner / Info.plist
  cp ios / Flutter / Release-Staging.xcconfig ios / Flutter / Release-Production.xcconfig 

まず, plutilでCFBundleIdentifierを指定をいるのは,Codemagicで配置文件の解决をする际をする合致しないIDを取ってきてしまって次のようなエラーが発生してしまった対处です。

❌代码签名错误:“ Runner”需要配置文件。 在项目编辑器中为“发布”构建配置选择一个配置文件。

xcconfigをコピーしているのは, xcodebuidの际に决め打ちで- -scheme Runner -config Releaseのオプションが与えられていて変更不可能だったのでxcconfig侧で対处しました。

ともに,Codemagicのビルド设定画面でiOSビルド用の设定値が充実すれば解决するはずですが,现状このように対处しました。

AdHoc配信

次のようにiOS代码签名の栏に开发人员证书とProvisioning Profieを指定すればOKです。