iOS Development Resources From Scratch to App Store
Resources for iOS development from setup to App Store distribution.
Setup
Remove storyboard: Link
gitignore
Package
Package Manager
SPM
Organize, manage, and edit Swift packages.
Mint
A package manager that installs and runs Swift command line tool packages.
Common Packages
A Swift Autolayout DSL for iOS & OS X
A lightweight, pure-Swift library for downloading and caching images from the web.
Reactive Programming in Swift
Strong typed, autocompleted resources like images, fonts and segues in Swift projects
Issue: https://github.com/mac-cain13/R.swift/issues/815
Solution: Use Run Script + Mint, instead of plugin product (RswiftGenerateInternalResources) for generating code.
An iOS library to natively render After Effects vector animations
Tools
Project
A Swift command line tool for generating your Xcode project
Swift CLI that scaffolds iOS apps, Swift Packages, and Swift CLIs — 15 optional features, interactive wizard, theme generation from a single hex color.
UI
You can inspect and modify views in iOS app via Lookin, just like UI Inspector in Xcode, or another app called Reveal.
Lottie JSON Editor
Lottie edit and preview
Code
A tool to enforce Swift style and conventions.
SwiftFormat is a code library and command-line tool for reformatting Swift code on macOS, Linux or Windows.
Build
This repo aims to integrate xcode with sourcekit-lsp and support all the languages (swift, c, cpp, objc, objcpp) xcode supports, so I can develop iOS with my favorate editor.
xcbeautifyis a little beautifier tool forxcodebuild.
Xcode Command Line
xcodebuild
1 | # Build |
LLDB (Debugger)
Common commands in the Xcode debug console:
| Command | Description |
|---|---|
bt |
Backtrace — print the call stack of the current thread |
bt all |
Backtrace all threads |
po <expr> |
Print object — evaluate and print a Swift/ObjC expression |
p <expr> |
Print — evaluate expression with type info |
frame variable |
Show all local variables in the current frame |
thread list |
List all threads |
thread return |
Force return from the current function |
breakpoint list |
List all breakpoints |
watchpoint set variable <var> |
Break when a variable changes |
expr <code> |
Execute code at runtime (e.g., expr view.backgroundColor = .red) |
continue / c |
Resume execution |
step / s |
Step into |
next / n |
Step over |
finish |
Step out of current function |
simctl
1 | # List available simulators |
Design
Coding Style
Git
Add tags to build
1 | git tag v1.2.0 # Version 1.2.0 |
Distribution
fastlane
Change version code, then fastlane beta
1 | bundle exec fastlane beta |
Update
1 | fastlane update_fastlane |
Fastfile
1 | default_platform(:ios) |
Apple
App Store Preview Images
- Apple Product Bezels
- https://www.figma.com/community/device-mockups/iphone
- https://www.figma.com/community/file/1227376606592772837
AI
Claude Code
Claude Skill: https://github.com/CharlesWiltgen/Axiom
Useful Links
Apple
App Store Connect: https://appstoreconnect.apple.com/
Developer Account: https://developer.apple.com/account
iCloud Dashboard: https://developer.apple.com/icloud/dashboards/
Articles
View App data: https://developer.apple.com/forums/thread/21660
Disable dark mode: https://sarunw.com/posts/how-to-disable-dark-mode-in-ios/
Hit-Testing: https://smnh.me/hit-testing-in-ios
Use Cursor for iOS development: https://dimillian.medium.com/how-to-use-cursor-for-ios-development-54b912c23941