README.md in snapshot-0.4.10 vs README.md in snapshot-0.4.11
- old
+ new
@@ -9,11 +9,13 @@
<a href="https://github.com/KrauseFx/deliver">deliver</a> •
<b>snapshot</b> •
<a href="https://github.com/KrauseFx/frameit">frameit</a> •
<a href="https://github.com/KrauseFx/PEM">PEM</a> •
<a href="https://github.com/KrauseFx/sigh">sigh</a> •
- <a href="https://github.com/KrauseFx/produce">produce</a>
+ <a href="https://github.com/KrauseFx/produce">produce</a> •
+ <a href="https://github.com/KrauseFx/cert">cert</a> •
+ <a href="https://github.com/KrauseFx/codes">codes</a>
</p>
-------
<p align="center">
<img src="assets/snapshot.png">
@@ -73,13 +75,14 @@
- Do something else, while the computer takes the screenshots for you
- Integrated with [`fastlane`](http://fastlane.tools) and [`deliver`](https://github.com/KrauseFx/deliver)
- Generates a beautiful web page, which shows all screenshots on all devices. This is perfect to send to Q&A or the marketing team
- ```snapshot``` automatically waits for network requests to be finished before taking a screenshot (we don't want loading images in the App Store screenshots)
+##### [Like this tool? Be the first to know about updates and new fastlane tools](https://tinyletter.com/krausefx)
+
After ```snapshot``` successfully created new screenshots, it will generate a beautiful html file to get a quick overview of all screens:
-
![assets/htmlPagePreviewFade.jpg](assets/htmlPagePreviewFade.jpg)
## Why?
This gem automatically switches the language and device type and runs the automation script to take all screenshots.
@@ -87,10 +90,12 @@
- It takes **hours** to take screenshots
- It is an integration test: You can test for UI elements and other things inside your scripts
- Be so nice, and provide new screenshots with every App Store update. Your customers deserve it
- You realise, there is a spelling mistake in one of the screens? Well, just correct it and re-run the script.
- You get a great overview of all your screens, running on all available simulators without the need to manually start it hundreds of times
+- Easy verification that localizations fit into labels on all screen dimensions
+- Easy verification for translators (without an iDevice) that translations do make sense in real App context
###Why use ```snapshot``` instead of....
I've been using many other solutions out there. Unfortunately none of them were perfect. The biggest issue was random timeouts of ```Instruments``` when starting the script. This problem is solved with ```snapshot```
@@ -120,11 +125,11 @@
- [Functional Testing UI Automation (mattmccomb.com)](http://www.mattmccomb.com/blog/2013/06/02/ios-functional-testing-with-uiautomation/)
# Quick Start
- Run ```snapshot init``` in your project folder
-- Profile your app (CMD + I), choose ```Automation``` and click the Record button on the bottom of the window.
+- Profile your app in Xcode (CMD + I), choose ```Automation``` and click the Record button on the bottom of the window.
- This will get you started. Copy the generated code into ```./snapshot.js```. Make sure, you leave the import statement on the top.
- To take a screenshot, use ```captureLocalizedScreenshot('0-name')```
Here is a nice gif, that shows ```snapshot``` in action:
![assets/snapshot.gif](assets/snapshot.gif)
@@ -225,14 +230,18 @@
```ruby
ios_version "9.0"
```
### Custom Args for the build command
-
+Use the ```custom_args``` directive to prepend custom statements to the build command.
```ruby
custom_args "GCC_PREPROCESSOR_DEFINITIONS='SCREENSHOTS'"
```
+Add a ```custom_build_args``` line to your ```Snapfile``` to add custom arguments to the build command.
+```ruby
+custom_build_args "-configuration release"
+```
### Custom Build Command
If for some reason, the default build command does not work for your project, you can pass your own build script. The script will be executed **once** before the tests are being run.
**Make sure** you are setting the output path to ```/tmp/snapshot```.
@@ -240,12 +249,12 @@
```ruby
build_command "xcodebuild DSTROOT='/tmp/snapshot' OBJROOT='/tmp/snapshot' SYMROOT='/tmp/snapshot' ... "
```
### Custom callbacks to prepare your app
-Run your own script when ```snapshot``` switches the simulator type or the language.
-This can be used to
+Run your own script when ```snapshot``` switches the simulator type or the language.
+This can be used to
- Logout the user
- Reset all user defaults
- Pre-fill the database
To run a shell script, just use ```system('./script.sh')```.
@@ -301,9 +310,13 @@
- [`deliver`](https://github.com/KrauseFx/deliver): Upload screenshots, metadata and your app to the App Store using a single command
- [`frameit`](https://github.com/KrauseFx/frameit): Quickly put your screenshots into the right device frames
- [`PEM`](https://github.com/KrauseFx/pem): Automatically generate and renew your push notification profiles
- [`sigh`](https://github.com/KrauseFx/sigh): Because you would rather spend your time building stuff than fighting provisioning
- [`produce`](https://github.com/KrauseFx/produce): Create new iOS apps on iTunes Connect and Dev Portal using the command line
+- [`cert`](https://github.com/KrauseFx/cert): Automatically create and maintain iOS code signing certificates
+- [`codes`](https://github.com/KrauseFx/codes): Create promo codes for iOS Apps using the command line
+
+##### [Like this tool? Be the first to know about updates and new fastlane tools](https://tinyletter.com/krausefx)
## Run in Continuous Integration
If you want to run `snapshot` on your `Jenkins` machine (or any other CI-system), you might run into an `authorization` popup coming up.
You can disable this dialog, running the following command: