はじめに
https://docs.flutter.dev/desktop にあるように、2021/10/26 時点では、ストア公開するのはオススメはできません。
そのため、やるとしても個人開発のものに留まるでしょうが、一応方法をまとめておきます。自己責任でお願いします。
筆者は 2021/04 から Microsoft Store と App Store で公開していますが、大きな問題には遭遇していません。
自分の知る範囲だとなさげです。
— done 🍵 (@sensuikan1973) April 2, 2021
片方だけだけならFlutter GalleryやAuthPassがありますね。
まだ"not recommended"なので当然ではありますが。
pedaxは個人開発かつdesktop固有の複雑さがあまりない(焦点がffi/isolate)ので、気楽に公開してます。
次のflutter meetupあたりで話そうかなと思ったり。
補足
この記事に記載した内容の具体例は https://github.com/sensuikan1973/pedax にあるので、必要に応じて参照してください。
また、(Flutter で) Windows/MacOS アプリを開発/公開するにあたり有益なリンクを https://github.com/sensuikan1973/pedax#reference に記載してあるので、そちらも必要に応じて参照してください。
Microsoft Store
MSIX で公開するのが最も楽です。
既に Flutter Package | msix があるので、ありがたく使わせてもらいましょう。
最近も開発が活発で最高&感謝一杯のパッケージです。
1. Microsoft Developer Acconunt 作成などの準備
https://www.advancedinstaller.com/msix-publish-microsoft-store.html にある通りなので省略。
2. アプリ情報の更新
-
windows/runner/Runner.rc
にある"StringFileInfo"
の更新: https://github.com/sensuikan1973/pedax/pull/83/commits/5e6b43b327ea23e9f673533b0c196181ef1374f5 - アイコンの更新: https://github.com/sensuikan1973/pedax/pull/30
3. msix の設定追加
https://pub.dev/packages/msix の通りです。
例: https://github.com/sensuikan1973/pedax/pull/103
4. GitHub Actions の追加
Microsoft Store で MSIX を配布する場合、署名は Microsoft がやってくれます。
そのため、Windows 上で MSIX を作成する GitHub Actions を作ってしまえば、Windows マシンがなくとも配布することが可能です。
(とはいえ動作確認のために Windows マシンは当然必須ですが)
こんな感じの workflow を作る。
5. workflow で作った msix を Microsoft Partner Center から提出する
参考: https://www.advancedinstaller.com/msix-publish-microsoft-store.html
たったこれだけでおしまいです。
ちなみに、fastlane みたく CLI/API で出来なくもないという話はある。See: https://github.com/sensuikan1973/pedax/issues/235
App Store
1. Apple Developer Program などの準備
iOS の時と変わらないので省略。
2. fastlane 用意など
- fastlane: https://github.com/sensuikan1973/pedax/pull/143
- アイコンの更新: https://github.com/sensuikan1973/pedax/pull/30
3. GitHub Actions の追加
4. 手元の Mac で fastlane 使って公開
https://github.com/sensuikan1973/pedax#deloy-apple-store
筆者は手元の Mac で fastlane 使って公開しています。
頻繁にストアに公開する人は、それも GitHub Actions に載せるとよいですね。