JRNL is a UIKit-based iOS journaling app focused on capturing daily moments with context. The app lets users create entries, attach a photo, rate the day, optionally save their location, browse entries on a map, and use on-device Apple Intelligence features to help draft content.
JRNL combines a classic journaling flow with modern iOS capabilities:
- Create new entries with a title, body text, rating, optional photo, and optional location.
- Browse saved entries in a searchable collection view.
- Review entry details with formatted text, rating, attached image, and a map snapshot.
- Explore location-based entries on a dedicated map screen.
- Generate journal draft text with Foundation Models and create an image from the entry prompt with Image Playground when the device supports those features.
- Persist data locally using JSON storage in the app's Documents directory.
- Swift 6
- UIKit + Storyboards
- MapKit
- CoreLocation
- FoundationModels
- ImagePlayground
- Local JSON persistence
- Xcode with the iOS 26 SDK
- iOS 26.2 or later
- A compatible Apple Intelligence device for the assistive writing experience
- Camera, Photos, and Location permissions enabled when testing those features
- Open
JRNL.xcodeprojin Xcode. - Select your signing team in the target settings if needed.
- Choose an iPhone simulator or physical device.
- Build and run the app.
Notes:
- On the simulator, photo capture falls back to the photo library.
- Apple Intelligence and Image Playground features depend on device support and system availability.
JRNL/AppDelegate.swift,JRNL/SceneDelegate.swift: app lifecycle and scene setup.JRNL/Model: journal entry model and shared persistence layer.JRNL/Journal List Screen: searchable list of saved entries.JRNL/Add New Journal Entry Screen: entry creation flow with photo, rating, and location capture.JRNL/Journal Entry Detail Screen: detailed entry view with map snapshot.JRNL/Map Screen: MapKit-based overview of geotagged entries.JRNL/Assist Screen: on-device writing assistance powered by Foundation Models.JRNL/Assets.xcassets: app assets, accent color, and app icon resources.
![]() Journal List |
![]() New Entry |
![]() Entry Detail |
||
|
||||
https://learning.oreilly.com/library/view/ios-26-programming/9781806023936/




