Automation and Continuous Delivery for iOS Apps using Fastlane tools. This was presented at FAYA, Technopark, Trivandrum on 01-Jun-2016.
Fastlane is a collection of utilities that work beautifully together without friction. It's now part of Fabric, Twitter's developer tools and development lead by Felix Krause (Twitter: @krausefx) and many other amazing developers.
iOS developers typically spend several times managing provision files, certificates and so many mundane and boring stuffs they've to do with Apple Developer portal and tools. Fastlane tools can help you to right from creating a project to deploy your app to AppStore.
Fastlane has an amazing ability to pass the result of data around each of the utilities in your pipeline. Also the actions helps you to customize and extend your fastlane utilities.
Fastlane often come pre-installed with popular continuous integration servers like CricleCI. Utilities like match can help you a lot to manage your certificates and provision files by securely shari across computers. This works quite handy with with CI servers as well.
3. State of iOS Development at
Experion Technologies
4. • We use Swift for all new projects
• We have delivered about 15 iOS projects developed
using Swift in past 2 years
• All our developers are trained to work with Swift
• We still use Objective-C — mostly for legacy code
base
• Modern tools and workflows to deliver projects
64. desc "Deploy a new version to Hockey App"
lane :hockey do
match(type: "development")
gym(scheme: "fastlane-demo") # Build your
app - more options available
hockey(
api_token: API_TOKEN
public_identifier: APP_ID,
notes: "Changelog",
notify: '0',
notes:git_branch + ' (Uploaded via
fastlane).'
)
end
👈
👈
👈
76. frameit
you need to download the templates from
apple’s website. tool will point you to
right place for the first time setup.
77.
78. app icons
Your app icons needs to be configured
properly to upload to App Store.
use utilities like makeappicon.com to
generate required images size.
79. CI Environment
Variables
It’s not a good idea to embed the secret
keys and files within the code/repo.
Use environment variables, settings and
integration features of CI Server to secure
your data
80. use private repos
there are several bots pulling out keys and
content from the public github repo.
don’t put your projects at risk.
🔐
81. auto build number
increment
to automate the build number increment, you
have to set the version in the project’s
build settings
https://developer.apple.com/library/ios/qa/
qa1827/_index.html
83. change log from commits
# Collects commits since your last tag and
returns a concatenation of their subjects and
bodies
changelog_from_git_commits
84. Actions
This is an ultimate guide to bring best out of
your fastlane pipeline. This guide contains
documentation on fastlane actions to extend
fastlane tools.
github.com/fastlane/fastlane/blob/
master/fastlane/docs/Actions.md
85. match
A handy utility to securely share your
certificates and provision files across the
systems. Quite useful when you work with CI
servers and multiple machines