Learn iOS development by exploring 30 standalone apps covering real topics like animation, maps, and machine learning.
Use as reference code when building UIKit components such as table views, collection views, or Today widgets.
Study on-device machine learning by examining the Core ML integration example.
Follow test-driven development patterns using XCTest in a well-structured Swift codebase.
Requires Xcode, each of the 30 apps is a separate project that must be opened and run individually.
Swift 30 Projects is a collection of 30 small iOS apps written in Swift, intended as self-study material for developers learning iOS development. Each mini-app is a standalone project with its own README file and screenshots. The repository has been updated to Swift 5 and is compatible with the iPhone X screen layout. The apps span a broad range of iOS topics. Some are focused on basic UIKit components (the building blocks of iOS screens), while others cover more involved areas: scrolling lists, table views, and grid layouts using UICollectionView, animation using both Core Animation and UIView transitions, local notifications in iOS 11, maps and contacts via MapKit and the Contacts framework, on-device machine learning with Core ML, Core Data for storing information locally, and the Today Extension for widget functionality. The collection also includes examples using popular open-source libraries, common design patterns, and test-driven development with XCTest. The author is an iOS developer who emphasizes that these are not simple tutorial copies. Each project has been rebuilt with attention to code style and architecture. The code follows the raywenderlich.com Swift Style Guide, a widely referenced standard in the iOS community. The README is short, but each of the 30 individual apps has its own documentation. If you are learning Swift and iOS development, this repo gives you a set of working, well-structured examples across many of the areas you will encounter in real app development.
← soapyigu on gitmyhub — every repo by this author, as a profile.
Verify against the repo before relying on details.