Michael MavrisHow to setup Xcode Cloud with Kotlin Multiplatform (KMM/KMP)When starting with Kotlin Multiplatform, it can get a little bit overwhelming with all the new changes you have to make to your project…Aug 2Aug 2
Michael MavrisHow to clear the state of the app in Maestro tests (iOS)While UI testing may seem straightforward at first glance, it can quickly become complex, especially when dealing with various app states…Jul 19Jul 19
Michael MavrisHow to format the name and surname of a person in SwiftOriginally posted on RockAndNull.comApr 12Apr 12
Michael MavrisUsing SwiftLint with XcodeGenRecently I was working on a project using Xcodegen and we needed to install SwiftLint to enforce the code style. This is usually a…Apr 7, 2023Apr 7, 2023
Michael MavrisI finally used method-swizzlingIt was long ago when I wrote an article about method swizzling (To swizzle or not to swizzle?) in which I was describing how it works in…Feb 7, 2022Feb 7, 2022
Michael MavrisHow to synchronize versions and build numbers across different targetsIf you ever developed an extension for iOS, you are most likely to be familiar with the following errors when uploading the app in the App…Sep 27, 20203Sep 27, 20203
Michael MavrisHow to create a white label iOS app (Part 5)On Part4 we discussed how to use .plist files with different values for each target. The .plist approach will help us build the brand for…Sep 11, 2020Sep 11, 2020
Michael MavrisHow to create a white label iOS app (Part 4)On Part3 we discussed how to use Preprocessor Flags to change the result of the coffeeDescription function based on which target was…Sep 4, 2020Sep 4, 2020