This talk has been given at iOSDevUK Conference 2018 about DevOps for iOS apps. iOSDevUK 8 has been organised by Aberystwyth University. This talks covers tips and tricks of speeding of Swift build, test and release process. It also covers App Store Connect API.
1. SHASHIKANT JAGTAP
DevOps for iOS Apps
iOSDevUK Conference 2018
@Shashikant86
shashikantjagtap.net
#iOSDevOps
XCBlog (Medium, Apple News and DZone)
2. 2
• iOS Development Challenges
• Basics of DevOps
• CI/CD Practices (YNAP)
• Speeding Up Swift Builds
• App Store Connect API
• DevOps Benefits for iOS
• Summary
TOPICS
35. 35
Faster Swift Builds Xcode 10 - Tips
Some other things to consider with Xcode 10
Select right
Dependency
Manager
Add Implicit
Dependencies
Cache
Dependencies
Code
36. 36
Faster Tests in Xcode 10
XCTest for Unit, Integration, Network, API, Performance Tests
KEEP IT
NATIVE
38. 38
Speeding Tests - Tips
Limit UITest,
Maximise
Domain Layer
Tests
Find
right
tests
to run in parallel
Keep
Performance
Tests Separate
Bundle
Add
Accessibility
Identifiers
Separate Build Config
for Testing
Select
Powerful
CI
Mock or Stub
Smartly
40. 40
Speeding Releases- Tips
Never Release
from Local
Xcode. Automate
Releases
GitFlow or Trunk Based
Development
Select
Right CI
Server/
Service
Feature Flag
TestFlight
Regularly
Collaborate
with Backend
41. 41
Native Apple Developer CLI Tools
xcodebuild:-
Analyse, Build,
Test and Archive.
Security : Manage
Keychain
PlistBuddy
agvtool
xcrun
tools:
simctl
xcode-select
altool
openssl
iTMS
Transporter
42. 42
App Store Connect API
Talk to App Store Connect with API
https://developer.apple.com/videos/play/wwdc2018/303
43. 43App Store Connect API
Manage Certificates, Profiles, Users, Apps, Sales etc
api.appstoreconnect.apple.com
44. 44
Accessing App Store Connect API
JWT Tokens needs to be created after every 20 mins
Generate JWT Token
Generate API Key
Get Private Key
Access API using
JWT Token
GET api.appstoreconnect.apple.com/v1/users
45. 45
What to Expect?
Be Prepared To Learn New Wrapper Tools
More tools will be there in
market. Written on top of App
Store Connect API
Existing tools will break.
Think before investing
46. 46
Automate in Apple Way
Good Bye Third-Party Tools?
Finally, we got official API to talk to App Store Connect
47. 47
Benefits of iOS DevOps
DevOps is Sense of Urgency
Boost iOS Developer Productivity – Let them Build Features,
not Infrastructure
Faster feedback on features from everyone – Fail Fast to
innovate Faster
Deliver before your competitors – Continuous Delivery of
Features
Shorten Mean Time To Recovery
48. 48
Summary
It’s not too late. Enable DevOps in Your iOS Team Today
Common iOS Development problems
What is DevOps and how to solve common problems using DevOps
DevOps Practices and How to implement in iOS Projects
Tips and Tricks to Automate Swift (Build + Test + Release) Process
App Store Connect API
Benefits of DevOps for iOS Apps