Customizing a UINavigationBar’s appearance within a UINavigationController has always been a bit of a pain in iOS. In iOS 13, Apple introduced the UINavigationBarAppearance class, which provides some more unified mechanisms to customize it. First, let’s step back and go over some basics. In a UINavigationController there is a UINavigationBar at the top of the screen, and the top child view con...
When you run tests in Xcode, the results of the test are saved into an xcresult file (actually a folder) somewhere in your Derived Data folder. You can find this result file by going into the Report Navigator in Xcode, right clicking on the top level of your test results and clicking on “Show in Finder”. Normally you wouldn’t need to look at the file on disk, but you could potentially do someth...
When building an iOS app, it is often useful to be able to observe the traffic that flows between the app and any backend services that it communicates with. This can be especially useful when you start working on an existing app that you aren’t already familiar with, especially if it is somewhat complex. There are various ways to observe the traffic, but one of my favorite tools is mitmproxy, ...