Custom iOS and iPhone app development

I have been developing for iOS ever since Apple unveiled the App Store with iOS 2.0. I transitioned to Swift as soon as it was announced, looking back to Objective-C as needed.

Previous iOS clients include Stash, Newsela, uSTADIUM, and CoinMarketCap.

iOS build scripts

Screenshots

Keeping screenshots up-to-date for the App Store can require a lot of repetitive effort. Whenever Underway has a UI change, I use Xcode's UI testing feature along with Fastlane to generate fresh screenshots. Scripting can save a lot of time, and still show the latest screenshots on the App Store.

View Underway's screenshots on the App Store.

XcodeGen

I'm very familiar with XcodeGen. Generating the project file reduces merge conflicts, and eliminates build configuration drift. The maintainer has kept it up to date with all the changes to Xcode over the years. XcodeGen combined with CocoaPods or Carthage is a powerful code management combo.

Visit on GitHub

Swish

Ruby with Fastlane doesn't need to the last word when it comes to iOS deploy scripts. I've been developing Swish alongside Underway to script repetive tasks.

Visit on GitHub

Tools for a better app

PaintCode

PaintCode generates vectorized images at runtime, passing in colors and lineweights as arguments. Saves time going back and forth with designers on the right image, and allows for image reuse. In addition, this speeds up the launch time of the app due to how iOS handles asset catalogs.

Visit website

GRDB.swift

GRDB has outmatched every other SQLite wrapper I've tried. It's interface is clear and easy to use. GRDB enables raw SQL as well as mapping results to structs or classes. And it's even updated for Combine. It also has a smaller footprint compared to Realm.

View on GitHub

XcodeGen

I'm very familiar with XcodeGen. Generating the project file reduces merge conflicts, and eliminates build configuration drift. The maintainer has kept it up to date with all the changes to Xcode over the years. XcodeGen combined with CocoaPods or Carthage is a powerful code management combo.

View on GitHub

© Daniel Ramteke 2022