Issue #3 - 20th of November 2022
Hey everyone! ๐Ÿ‘‹  Welcome to the third issue of the iOS CI Newsletter! Hope you’ve all had an amazing couple of weeks!

November has been an amazing month for me, as the response to the previous newsletters has been great and I have had the chance to speak at Do iOS in Amsterdam, the Mobile Devops Summit, and the Latin America Remote Job Fair organised by Arc. I want to take this chance to thank everyone involved and say hi to all the lovely people I have met at these three events, it has been a blast!
On the flip side, it has also been a stressful month as earlier in November it was announced that Revue, the service that powered this newsletter, will be shutting down by the end of this year. This meant that I had to migrate all subscribers and issues over to a new provider. I believe it is all set up correctly now, but if you spot any issues or have any feedback, please don't hesitate to let me know.
In this article, Antoine gives us an insight into how binary targets work and specifically how they can come in very handy to improve your CI's performance as well as help reduce its cache size.
I also had a conversation with Antoine and Tim at Do iOS about how long it took to build and run swift-danger as a Swift package on our respective CIs and how pre-building it as a binary can certainly help improve performance.
Some processes, such as release pipelines, are very important but do not get run frequently, which can diminish our confidence in them. In this article, I go through how scheduled CI runs can help you spot failures early and gain confidence in such processes.
Turns out that, as Max Topolsky and Josh Cohenzadeh describe in full detail in this article, some apps packaged using Xcode 14 have seen an increase in size due to binary symbols not being stripped. If you've encountered this do not worry because this article gives you a way to strip these binary symbols.
If you want to go further, you might consider adding some metrics to your CI to track the size of your application over time as these fluctuations can be otherwise easy to miss. SwiftInfo by Bruno Rocha is a perfect example of how this can be achieved (plus it's written entirely in Swift, which is always a bonus๐ŸŽ‰).
Following the trend of app sizes, I really enjoyed reading this article by Arnoud Joubay. It goes into great detail about things you need to be aware of when sharing assets between an app and its extensions and how these might unnecessarily increase the size of your application.
If you have not yet migrated your CI to Xcode 14, Rudrank has your back and will save you some time investigating the numerous code-signing issues you're likely to encounter.
Let’s finish up with a meme I took from a post by Jeff Johnson on how the App Store Connect login flow and remember me function does not work as expected. To make the login flow slightly better (or restore the way login used to be in ASC) Jeff has made a pretty neat browser extension that is completely open source.
 
For the Better meme
 
Unsubscribe | View in browser