17
8

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

fastlane[Snapshot]スクショとってちょっとオシャレにしたらとてもいい気分になるからやってみて

Last updated at Posted at 2018-07-27

#初めに
fastlaneのSnapshotを使ってみました。今更かもしれませんが、今更でもかなり戸惑ったので書きます。公式は以下のURL
https://docs.fastlane.tools/getting-started/ios/screenshots/#advanced-snapshot

#ちなみに
明日友達の結婚式です。絶対遅刻しないぞ!っと思っていますが、ついつい記事を書いてしまった…。
このスクショバシャバシャ取るのはアプリの登録はなくてもできるのでぜひ!
あと、また綺麗にとか詳しくとか書いていくつもりです。
今はとりあえずできるようになるまで、記事の見た目の綺麗さは考えていないのでご了承ください。

#でどんなのできるの(やっぱりみた方がはやいよね…)
こんなふうにみやすいHTML作ってくれたり

fastlanesample.gif

写真とってくれます。

スクリーンショット 2018-07-27 23.53.56.png

中身はこんな感じ(指定すれば黒もできるよ!)

iPhone 8 Plus-01LoginScreen.png
iPhone 8 Plus-ButtonTap_framed.png
#ではさっそく
自分のプロジェクトがあるところまで行って
$ bundle init

※エラーあればそもそもbundleが使えないということでbundleを使えるようにインストールしてください。

無事にうまく行くとGemfileというのができているのでそこ以下記述追記

補足:Rubyライブラリいれたいのを書いてます。
補足:cocoapodsはいれないとこける気がしたのでいれています。きっとcocoapodを開発で使っている人だと、いれとかないと、こける気がしました。

gem "fastlane"

gem "cocoapods"

完成形こんな感じです。
スクリーンショット 2018-07-27 0.14.42.png

補足:ライブラリのインストールを

$ bundle install

そんなこんなで今の感じはGemfile.lock的なのできて以下のようになっているはず
スクリーンショット 2018-07-28 0.10.19.png

次に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も入れる
スクリーンショット 2018-07-28 1.04.08.png

補足:テストのところにチェックが外れていないかの確認
スクリーンショット 2018-07-27 22.39.08.png

補足:UITesを下から追加してチェックをshowとsharedに入れる
スクリーンショット 2018-07-28 0.34.05.png

補足:プロジェクトのfastlaneファイルに'SnapshotHelper.swift'ができているのでそれをプロジェクト中に入れる。私はUITestのところにいれましたがどこでも大丈夫そう。
スクリーンショット 2018-07-28 1.04.53.png

スクリーンショット 2018-07-28 0.37.41.png

補足:setupのところを同じように

スクリーンショット 2018-07-27 23.10.33.png

補足:適当にテストコードを。UIテスト使ったことない方はその使い方を知識にいれないといけません。あとスクリーンショットしたいところに'snapshot("好きな名前")'をかく。
この好きな名前が書き出される写真の名前になります。

スクリーンショット 2018-07-27 23.10.06.png

補足:fastlaneファイルの中のSnapfileに行いたいものを。
補足:コメントアウトしてるのを外して適切なものに
以下の感じだと
deviceは3つ(iPhone 8、 iPhone 8 Plus, iPhone X)
言語はローカライズとかしていないのでデフォルトの英語のみ
スクリーンショット取る時にスクリーンショット入れるファイルの中一旦綺麗にするかでYESの記述
スクリーンショット 2018-07-28 0.28.27.png

#ふーきっとここまで来ていると以下コマンドが無事におせる

$ 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は白ないのでどっちも黒で出ます。

こんな感じ
スクリーンショット 2018-07-28 0.50.55.png

もちろん以下打って再度

$ fastlane screenshots 

ほんとは以下コマンドがいいらしい

$ bundle exec fastlane screenshots

駆け足でしたが以上になります。

#最後に
漏れはないと思いたいのですがあったら教えていただけると追記できます。
それはいらないのでは?とかもあれば優しいその気持ちで教えていただければと。
記事雑だと思っていますが、また気が乗った時に書き直そうと思います。
とりあえず誰でもできるような記事を書きたかった。
私がハマりすぎた故に。

17
8
2

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
17
8

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?