I'm excited to announce the release my new book, iOS App Distribution & Best Practices! You can read it online if you have a raywenderlich.com subscription. If you like to read books on paper, you can buy the print version from Amazon in a few weeks.
One of the reasons why I'm so excited for this book is because I think it fills a real, persistent need that so many people have.
Most resources for learning iOS focus on the tools and frameworks for making the app but say almost nothing about sharing your work with others, be it other members of your team, external testers, or the public at large.
This state of affairs would be fine if app distribution were straightforward. Unfortunately, the opposite is true. App distribution is often one of the most complex and downright frustrating parts about shipping an iOS app. Developers can literally waste days just on figuring out how to upload a build the App Store 🤯.
Once you feel comfortable with the basics of app distribution, the book moves on to automation. Every team works differently, but iOS is now mature enough that there's some definite convergence of best practices when it comes to iOS automation. Here, too, I believe the book fills a need. There are tons written about CI/CD/devops in the web development world, but relatively little on iOS.
People with wildly different backgrounds routinely handle app distribution. We kept this in mind while writing the book. Some chapters are more geared to developers, but if you're involved in any way in shipping an app to the App Store, we think you can benefit from the book.
When it comes to developers, these three type of developers would benefit the most:
Distribution novices: The first few chapters assume you've only interacted with the App Store as an end user. The book covers the most common workflows so you can release your first app without getting bogged down with the details.
Distribution "expert beginners": Some apps only need updates once a quarter or once a year, giving you just enough time to forget everything. There are so many people in this category. The book pays special attention to things that trip most people up like code signing and provisioning.
Dev ops/platform engineers: The second half of the book dives into setting up a build pipeline so you can distribute your apps internally and externally with the least amount of effort. From personal experience, I know that getting this right can turbocharge a team's cadence.
The hardest part about writing this book was striking the right balance between explaining everything from first principles ("ok, so what is a build?") while still leaving room for more experienced folks to fill in the gaps they were missing. I think the book lands in a good place, but I'm looking forward to reading the feedback and questions in the forum.
Finally, I want to thank the team that made this book possible: Keegan Rush, Manda Frederick, Soheil Azarpour, Jayven Nhan, Jordan Osterberg and Sandra Grauschopf. Special thanks to Viki and Ray Wenderlich for creating the company behind the publisher that makes these projects possible.