LoginSignup
3
2

More than 5 years have passed since last update.

MacアプリのApp Store申請をFastlaneで行おうとしたが上手くいかない話

Last updated at Posted at 2016-08-20
  • Macアプリの申請をFastlaneで行えるようにしようとした。
  • メタ情報の更新はできるものの、バイナリのアップロードが上手くいかなかった。
  • コードを読んだり、Issuesなどを見ている限り、最新版(1.101.0)ではMac App Storeの申請ができないのかも?

Mac App Storeへのビルドのアップロードに対応しているのか?

GitHub上には、Map App Storeへのビルドのアップロードに対応しているように解釈できる記述が幾つか存在している。

fastlane is a tool for iOS, Mac, and Android developers to automate tedious tasks like generating screenshots, dealing with provisioning profiles, and releasing your application.

gym already does support Mac apps. Or did you run into problems using it?

There is even a Mac project example in the examples directory

※ただし、最新のExampleにはMacアプリのバイナリアップロードをするものはなさそう…

一方で、Issueにはこんな記述もある。(Sep 16, 2015)

@fousa right now deliver only supports app metadata and screenshots for Mac applications, not the binary. If you find a way to upload a mac application using the iTunes Transporter command line tool, I'm happy to integrate this into deliver. You're right, there are some validations to make sure the file format is ipa.

何がうまくいかないか

'/path/to/MyMacApp.app' doesn't seem to be an ipa file

fastlane mac appstoreで、deliverの段階でファイルがipaじゃないというエラーが起きる。

deliver fails on a macOS app with the message

deliver seems to think mac app is iOS #5757 まさにこの問題。
Macアプリなのだが、deliveripaファイルをアップロードしようとして、エラーが発生する。

コードと説明から推測する正しいフロー

  • fastlaneはMacアプリに関するactionの時は、下記のような振る舞いをする。
  • gympkgファイルを生成する。
  • deliverpkgファイルをApp Storeにアップロードする。

deliverの説明にはIf you use fastlane you don't have to manually specify the path to your ipa/pkg file.という記述があるのだが、どうやらこれが動いていないようだ。

gymでpkgファイルを作ることができない?

こちらのIssueでは、下記のような指摘がされている。

The issue is gym doesn't generate any .pkg archive to be able pass forward to Deliver.

gymでMacアプリをビルドすると.appがつくられるのだが、deliver.pkgファイルを求めるので、そこで齟齬が発生している模様。

gym builds and packages iOS and macOS apps for you. It takes care of all the heavy lifting and makes it super easy to generate a signed ipa or app file 💪

gymの説明では、ipaappを作ることができる、と書いてあり、pkgに関する記述はない。

また、ソースコードのオプションに関する実装を読んでも、pkgを生成するオプションはなさそうだ。

サンプルのFastlaneを見ても、macの時はバイナリのアップロードをしていない

githubにあがっているMindNoteアプリのサンプルの設定では、iOSの方にはApp Storeにバイナリをアップロードするための設定があるが、macの方にはメタ情報のアップロードしかない。

platform :mac do
  desc "[WIP] Upload App Metadata of the Mac App to iTunes Connect"
  lane :metadata do
    deliver(
      skip_deploy: true, 
      force: true,
      deliver_file_path: File.join(Dir.pwd, 'Mac') # Mac specific app metadata
    )
  end

  desc "Adds frames around the screenshots located in `./fastlane/Mac/screenshots`"
  desc "This will not generate new screenshots, but only frame the existing ones"
  lane :screenshots do
    frameit(path: './fastlane/Mac/screenshots', force_device_type: "Mac")
  end

  desc "Uploads metadata only (Mac) - no binary will be uploaded"
  desc "You'll get a summary of the collected metadata before it's uploaded"
  lane :upload_metadata do
    deliver(
      metadata_only: true,
      deliver_file_path: File.join(Dir.pwd, 'Mac') # Mac specific app metadata)
    )
  end
end

結論: 一旦諦めた

どうやら、もともとはMacアプリもバイナリのアップロードまで対応していたようだが、iTunes Connectのアップデートなど諸々の理由で、現時点では正しく動作しなくなっている可能性が高そう。Macアプリに関するFastlaneの記事もほとんど出てこないので、残念ながら使えないのかも…。

もしうまく動いている、という方がいたら教えてください。

3
2
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
2