#初めに
fastlaneのSnapshotを使ってみました。今更かもしれませんが、今更でもかなり戸惑ったので書きます。公式は以下のURL
https://docs.fastlane.tools/getting-started/ios/screenshots/#advanced-snapshot
#ちなみに
明日友達の結婚式です。絶対遅刻しないぞ!っと思っていますが、ついつい記事を書いてしまった…。
このスクショバシャバシャ取るのはアプリの登録はなくてもできるのでぜひ!
あと、また綺麗にとか詳しくとか書いていくつもりです。
今はとりあえずできるようになるまで、記事の見た目の綺麗さは考えていないのでご了承ください。
#でどんなのできるの(やっぱりみた方がはやいよね…)
こんなふうにみやすいHTML作ってくれたり
写真とってくれます。
中身はこんな感じ(指定すれば黒もできるよ!)
#ではさっそく |
自分のプロジェクトがあるところまで行って |
$ bundle init
※エラーあればそもそもbundleが使えないということでbundleを使えるようにインストールしてください。
無事にうまく行くとGemfileというのができているのでそこ以下記述追記
補足:Rubyライブラリいれたいのを書いてます。
補足:cocoapodsはいれないとこける気がしたのでいれています。きっとcocoapodを開発で使っている人だと、いれとかないと、こける気がしました。
gem "fastlane"
gem "cocoapods"
補足:ライブラリのインストールを
$ bundle install
そんなこんなで今の感じはGemfile.lock的なのできて以下のようになっているはず
次にfastlaneのfastfaile的なの作りたいので
$ fastlane init //打った瞬間色々聞かれます
流れ…大事なところだけ、以下は雰囲気(それ以外は途中途中でエンター押して!って言われるのでエンター)
・なにしたい→ 1. 📸 Automate screenshots
・どれやるの→自分のプロジェクト。よほどでない限りみんな1だと
・スクリーンショットappleにあげたい?→今回はappleの登録とかない人もなのでNO!
[22:36:29]: What would you like to use fastlane for?
1. 📸 Automate screenshots
2. 👩✈️ Automate beta distribution to TestFlight
3. 🚀 Automate App Store distribution
4. 🛠 Manual setup - manually setup your project to automate your tasks
? 1
[22:37:07]: Which is your UI Testing scheme? If you can't find it in this list, make sure it's marked as `Shared` in the Xcode scheme list
1. sampledesu
? 1
[22:37:11]: Enable automatic upload of localized screenshots to App Store
Connect? (y/n)
n
で次に環境変数指定しないとおかしくなるらしいので
$ vim ~/.bash_profile //開く、人によってはbash_profileじゃないかも
中に以下追記
export LC_ALL=en_US.UTF-8
export LANG=en_US.UTF-8
$ source ~/.bash_profile //閉じたあとの更新コマンド
補足:スキームのビルドのUITestにTest以外にRunも入れる
補足:UITesを下から追加してチェックをshowとsharedに入れる
補足:プロジェクトのfastlaneファイルに'SnapshotHelper.swift'ができているのでそれをプロジェクト中に入れる。私はUITestのところにいれましたがどこでも大丈夫そう。
補足:setupのところを同じように
補足:適当にテストコードを。UIテスト使ったことない方はその使い方を知識にいれないといけません。あとスクリーンショットしたいところに'snapshot("好きな名前")'をかく。
この好きな名前が書き出される写真の名前になります。
補足:fastlaneファイルの中のSnapfileに行いたいものを。
補足:コメントアウトしてるのを外して適切なものに
以下の感じだと
deviceは3つ(iPhone 8、 iPhone 8 Plus, iPhone X)
言語はローカライズとかしていないのでデフォルトの英語のみ
スクリーンショット取る時にスクリーンショット入れるファイルの中一旦綺麗にするかでYESの記述
#ふーきっとここまで来ていると以下コマンドが無事におせる
$ fastlane screenshots
ほんとは以下コマンドがいいらしい
$ bundle exec fastlane screenshots
エラーとか出ている時は設定がなぜか戻っていたりしたり、ちゃんと保存できていないことがありそう…
ちなみに
Exit status: 70 のエラーの時はsnapshotのファイル保存ができていなかったりしました。
で無事にコマンドが終了すると一番上のようにscreenshotsファイルにスクリーンショットとHTMLができているはず。
#上記でできたスクリーンショットに枠つけたいをやる(上記の写真のように)
補足:ツールがそもそも入っていないと思うので以下のコマンドをうつ
$ brew install libpng jpeg imagemagick
作成してあるFastfileのsnapshotolaneに以下コマンド追加
$ frame_screenshots(white: true) //trueがfalseで黒。ちなみにiPhoneXは白ないのでどっちも黒で出ます。
もちろん以下打って再度
$ fastlane screenshots
ほんとは以下コマンドがいいらしい
$ bundle exec fastlane screenshots
駆け足でしたが以上になります。
#最後に
漏れはないと思いたいのですがあったら教えていただけると追記できます。
それはいらないのでは?とかもあれば優しいその気持ちで教えていただければと。
記事雑だと思っていますが、また気が乗った時に書き直そうと思います。
とりあえず誰でもできるような記事を書きたかった。
私がハマりすぎた故に。