Command line tools are usually... • Boring* • Hard to use (intuitively) • Hard to script (properly) • Hard to maintain (by the next one) Apple's are no exception (* Except Carthage, Carthage we like.)
Packaging the app into an IPA xcrun -sdk iphoneos \ PackageApplication "$CWD/build/Rewatch.app" \ -o "$CWD/build/Rewatch.ipa" • Huge perl script • (Don't laught, perl 6 was released last month)
Writing a script to wrap all this • Usually end-up copy/pasted accross multiple projects... • ...or shared as a submodules or something similar • Suggested a relatively simple one in my book, around 100LOC (#humblebrag)
Introducing Fastlane • Automatize all the things you need and then some • Define and run your deployment pipelines for different environments (debug, qa, production...) • Written in Ruby (by the guy on the left, Felix Krause) • Each part can be use as standalone tools • iOSDevWeekly frequent flyer
But wait, there is more • Deliver will upload your app and metadata to the app store • Snapshot will take screenshots • FrameIt will resize screenshots into right devie frames • Pem will manage your push notification profiles • Cert & Sigh will magically fix your code signing issues • Produce will create th app on iTunes Connect • Scan will run tests
Wrapping the Fastlane tools using Fastlane gem install fastlane fastlane init (Even better is adding Fastlane as a dependency in your Gemfile) source "https://rubygems.org" gem 'fastlane', '~> 1.36', '>= 1.36.4'%
Rewatch ! Fastlane • iOS application that suggests episode to, well, rewatch • Hoping to release a beta soon-ish, register on rewatchapp.com • rewatchapp.com is using "Boarding" • rewatchapp.com was online in one hour (design included)
Bonus • Fastlane has a great community • This is a true story • Posted a tweet the night I was playing with Fastlane • I hid my phone under a pillow because of the 40+ notifications I got in the following hour