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> &bull; <b>snapshot</b> &bull; <a href="https://github.com/KrauseFx/frameit">frameit</a> &bull; <a href="https://github.com/KrauseFx/PEM">PEM</a> &bull; <a href="https://github.com/KrauseFx/sigh">sigh</a> &bull; - <a href="https://github.com/KrauseFx/produce">produce</a> + <a href="https://github.com/KrauseFx/produce">produce</a> &bull; + <a href="https://github.com/KrauseFx/cert">cert</a> &bull; + <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: