Introducing fastlane device grid, one-click installation, 2FA, more APK management features, and emoji deployment

In May, we focused on making pull requests more powerful and introduced enhanced deployment options. For more details, check out the full blog post on fabric.io/blog.  

fastlane device grid

Tired of locally compiling your app just to test and preview a change? From now on, you can test your app straight on GitHub from the pull request using device grid.

One-click installation via the Fabric Mac app

Want to install fastlane with one quick click? You can do it directly from the Fabric Mac app. 

Two-step verification

Looking to take advantage of two-step verification for stronger security? All fastlane tools now support two factor authentication. 

APK expansion file upload and APK promote to track capability

Last but not least, thanks to awesome contributions from the community, it’s easier than ever to upload APK expansion files and promote existing beta builds to production on Google Play. 

Read the full blog post on fabric.io/blog

Edit on GitHub

Be a 10x Mac user by using custom shortcuts for every application you use

One of the most common activities when using a computer is switching between apps and their windows. Unfortunately macOS is optimised for casual computer users (Mission Control, using the mouse, etc.).

Using the dock

This approach requires the mouse and wastes either screen space, or has a slow animation when using auto-hide.

Using CMD + Tab

This approach is keyboard based, however the order of the application is sorted by most recently used, which is only nice to quickly switch between 2 applications.

Additionally this technique doesn’t allow you to launch a new application, but only switch between running ones.

Using Spotlight or Alfred

 

Great to quickly launch any application, however it’s not as fast as other approaches, as it requires you to type in multiple letters.

New: Launch every application using a shortcut

When people watch me use my computer I get asked a lot how I can switch between my applications so quickly.

I’m not kidding, I have a custom keyboard shortcut for every single application I use frequently.

This way I can always switch to any application just using one keyboard shortcut.

I use the excellent tool called BetterTouchTool, which was originally built to use custom gestures for the trackpad and mouse, however I use it mostly for my shortcuts. 

Using BetterTouchTool, it will either switch to a running application or launch it otherwise.

Some tricks:

  • ALT + [letter]: Open a specific application (e.g. ALT + n launches Notes)
  • Alt + 2: Open the screenshots directory (use this for any directory you use often)
  • Ctrl + CMD + Arrow: Move window to next monitor

For even faster switches, change the BTT trigger to use "Trigger on Key Down".

Edit on GitHub

fastlane has saved over 1 million developer hours

During my internship at 6Wunderkinder ,I was part of a team with three engineers, where we worked for a whole day on just uploading localized screenshots and metadata to iTunes Connect. Our goal was to release an update to our users, but we were blocked by this tedious and long process.. This marked the first time I experience the pain of the release process for mobile apps and started dreaming of a better solution. As I worked for future companies and experienced the same pain over and over again, I decided it was time to build a tool that automated the tedious tasks I found myself constantly repeating. When I saw how much more efficient and faster this made me and my team, I knew I needed to share this tool with the community.

I’m super proud to announce, that within the last 8 months,fastlanehas saved developers around the world over 1,000,000 developer hours. This equals:

  • 41,000 days
  • 1,300 months
  • 114 years

Putting that into perspective,every minute that passes,fastlanecurrently runs for12 hours, which is more than a full work day.

Think about all the things you could do with the extra time:

  • Watch 660,000 soccer games
  • Get 38 different bachelor degrees
  • Circle the globe 15,000 times in an airplane
  • Watch all Star Wars movies 75,000 times
  • Build 10 Berlin Brandenburg airports

As developers, we know it’s incredibly motivating to see how users are using what you create at an exact moment at this exact moment. That’s why we built fasttrack, a simple web-app that visualises fastlane launches in real-time. Every time someone launchesfastlane, a rocket is being launched in the color of the corresponding tool. This is super motivating for me and the Fabric team to continue to deliver value to our users:

Every time I catch myself doing something that doesn’t add any direct value to users, I look at the rockets and regain my focus.

Once fastlane is set up you can do something else while your computer works on the tedious tasks for you. This is huge: You can work on your app, or you can play Super Smash Brothers with some friends (which is what I usually do).

I want to thank all fastlane users and contributors for making fastlane such a proud community success. I’m looking forward to the next 1,000,000 hours and can’t wait for what’s next!

Edit on GitHub

Automatically download and upload dSYM symbolication files from iTunes Connect for Bitcode iOS apps using fastlane

When submitting iOS apps to the App Store with Bitcode enabled, your app gets recompiled by Apple, to be optimized for specific devices and architectures. While Bitcode is optional, it’s more and more encouraged by Apple, and even required for watchOS and tvOS apps.

Due to the fact that recompiling happens on Apple’s servers, third party crash reporters don’t have access to the symbolication files, which are required to properly associate the crash stack trace with the exact files and line numbers in your source code.

The current solution to solve this for Bitcode enabled apps is to manually download the dSYM files from Apple and upload them to your crash reporting service. Downloading the files can be done either using Xcode or iTunes Connect. 

Download dSYM symbolication files using the Xcode OrganizerDownload dSYM symbolication files using the Xcode Organizer

Download dSYM symbolication files from iTunes ConnectDownload dSYM symbolication files from iTunes Connect

The problem with this approach is not only the time you spend doing this manually for every single release, but also the lack of automation. There was no way to automatically do this process after every release, or just periodically on every day, so you end up spending a lot of engineering time on repetitive tasks.

Introducing automatic fastlane dSYM download

With the latest version of fastlane, you can now easily download all available dSYM symbolication files from iTunes Connect and upload them straight to the crash reporting service of your choice.

lane :refresh_dsyms do
  download_dsyms                  # Download dSYM files from iTC
  upload_symbols_to_crashlytics   # Upload them to Crashlytics
  clean_build_artifacts           # Delete the local dSYM files
end

All you have to do is define a lane (as seen above) and run:

fastlane refresh_dsyms

It’s easy to just run this task on your existing CI infrastructure every day or so, however you’re totally free to trigger it whenever and wherever you want. 

dSYM download in action - click on the gif to start it from the beginning dSYM download in action

You can find more information about the available options in the fastlane docs.

Currently the dSYM upload is supported by Crashlytics, Sentry and HockeyApp. If your service is still missing and they provide an API, feel free to submit a PR to add it to fastlane.

Open Source

As always, everything described in this article is completely open source under the MIT license, check out the following source files:


Getting started

If you’re already using fastlane, just update your existing Fastfile and add the new refresh_dsyms lane to it.

Step 1: Install fastlane

If you haven’t yet had the change to try fastlane, now is the perfect time. To quickly get started:

[sudo] gem install fastlane --verbose
cd your/project
mkdir fastlane && touch fastlane/Fastfile fastlane/Appfile

Step 2: Update Appfile

Edit your Appfile to include your bundle identifier and iTunes Connect Apple ID.

Step 3: Update Fastfile

Update your Fastfile to include the refresh_dsyms lane (seen above). You’re all set, now you can run 

Step 4: Enjoy fastlane

fastlane refresh_dsyms

On the first run you’ll be asked for your password, which will be stored in your local Keychain. 

You wonder what else you can add to your Fastfile? Check out the available actions to see all 170 built-in fastlane integrations, you can already use today. 

Edit on GitHub