Using Fastlane to expedite application development
What is Fastlane?
Fastlane is a tool for automating app builds and distribution for both iOS and Android. By using a combination of lanes and actions, developers can simply build, sign and distribute their apps to TestFlight, App Store and Google Play. Coupled with build settings or xxconfig files, for iOS, lanes and actions can be simply configured to build the app for the environment specified.
The tool can also be configured to take screenshots of the app on varying devices and screen sizes via UI tests as required for App Store and Google Play submissions.
How to use it (for iOS)?
Firstly, the project and environment need to be set up and Fastlane installed. The simple reference documentation outlines this process for the developer on their machine, be it Windows, Linux or macOS.
Once installed, lanes can be defined and filled with actions or other lanes as required. For example, the following snippet retrieves the signing certificates and profiles, builds the app for a specific scheme and uploads to TestFlight before posting a message to Slack to notify it is complete.
lane :beta do
sync_code_signing(type: “appstore”)
build_app(scheme: “MyApp”)
upload_to_testflight
slack(message: “Successfully distributed a new beta build”)
end
Custom actions can be created to extend the functionality of Fastlane but these must be included with your repository to be accessible. Alternatively, if they could be useful for the community, the action could be submitted to Fastlane for redistribution.
Plugins are available for Fastlane to offer functionality such as versioning, badges on app icons, distributing IPAs to BrowserStack for testing, and reading and writing to xcconfig files. Custom plugins can also be created and used locally or published via Rubygems or Github
Our use case
For one of our clients, we use Fastlane on their iOS apps to provide simple, one-line builds and distribution either on the development machine or utilizing Azure Pipelines. Fastlane allows us to configure shared or environment-specific lanes and actions for each environment in our ecosystem.
Utilizing Fastlane & Pipelines, we can build, run unit tests, and sign IPAs and publish these as artifacts which can be consumed by our deployment Pipelines to distribute to either TestFlight or the App Store.
Version & build id increments are automated and building, testing and distributing the clients’ apps via Fastlane and Azure Pipelines has shaved hours off of a manual approach.
Let us build something amazing together
Connect with us.
With over 20 years of experience working with Microsoft Technologies, Imaginet can help you choose the right Microsoft 365 solution to adopt an effective hybrid workplace model and improve employee engagement. Contact us to get your free virtual consultation.
Like what you read?
Check out our recent articles.