Because even developers deserve to have fun.
Streamlining your day-to-day workflow with automation can reduce friction within and between development teams. It also removes the most tedious and repetitive parts of app development.
But it can also be one of the most difficult things to do as an iOS developer.
We've chatted before on the importance of Continuous Integration but in this article we will explore this fun, sometimes complicated, but overall stress-reducing aspect of making iOS and Swift apps with a list of automation tools we’ve enjoyed using in the last year or that we’ve seen work well for others.
Continuous Integration with Kyle Newsome
Continuous Integration with Kyle NewsomeContinuous Integration with Kyle Newsome
101X30
00:0040:52
More episodes
Continuous Integration with Kyle Newsome
41 min
Guest
Continuous Integration Issues with iOS
- Deployment Issues
- Cache Issues
- Continuous Integration 101
How to Get Started
- Removing Dependencies on People and Files
- Reproducible Anywhere
- Using Pull Requests or Code Reviews As Triggers
- Having Tests to Address Pain Points
- Dealing with Certificates and Provisioning Profiles
- HashiCorp
- Using Tools Like Fastlane
Comparing Services
- Cloud Services
- Self-Hosting
- Jenkins
- Xcode Server
- Running Your Own Mac Virtual Machine
- Hybrid Solutions
Feedback Loops and CI
- Having Healthy Unit Tests
- Rapid Results through Automation
- Proofing Builds Before QA
Transcription
Leo Dion (Host): Hey, Kyle, how are you doing?
Kyle Newsome (Guest): I'm doing great. Thanks very much. It's unfortunately a slightly rainy day in Toronto here, but otherwise, a good mood.
Leo Dion (Host): Yeah, same here. It's been a weird, cause. I don't know what Ontario's like, but Michigan. It's like one day was 80 degrees and then the next day dropped down to like 50 or 60
Kyle Newsome (Guest): It's okay. I lived a little bit in the States, so I like can do the conversion. I know that like 70 is nice and comfortable. Eighties getting to hot sixties like not too bad.
Leo Dion (Host): I think fall's finally here. Yeah, so another sign of fall is the new iPhones. Did you get anyone iPhone?
Kyle Newsome (Guest): I got the new iPhone 11 pro max. Which I've been waiting to upgrade for a few years. So this is like my first experience with like the X, you know, edge to edge screen as well.
Leo Dion (Host): What do you think of it?
Kyle Newsome (Guest): Honestly, so far I'm pretty impressed with it and as much as people have complained about how the three lenses look, I actually think it looks pretty nice.
... (more dialogue content would continue here)...
Automation Tools
- Xcodegen vs Tuist for Project Generation
- Gitlab CI vs GitHub Actions vs Jenkins
- The power of Fastlane
- Yes Makefiles are still great!
- Using ArgumentParser and ShellOut
- macOS Development Challenges
Fastlane
Fastlane is a well-established platform for automating your iOS app’s deployments and releases. The platform's tools handle signing, certificate management, screenshot creation and help save you loads of time when releasing your app.
Xcode Cloud
Xcode Cloud is Apple’s own (paid) service. As we’ve come to expect from Apple, the service brings together a range of different tools iOS developers were already using or familiar with so that you can do more without having to rely on anything third party or even without leaving Xcode.