InstantCamera is an offline iOS app for turning iPhone photos into a more convincing instant-film look.
InstantCamera 是一个本地离线 iOS 应用,用来把 iPhone 照片处理成更接近拍立得/即时成像相机的观感。
- Local-only processing, no cloud upload
- Built for iPhone photo import, preview, save, and share
- Includes multiple instant camera personalities instead of a single fixed filter
- Supports manual tuning when the default look is not enough
- Import photos from the system photo library
- Real-time preview of the processed result
- 5 built-in instant camera profiles
Instax Mini 12Instax SQ40Instax Wide 400Polaroid GoPolaroid SX-70
- Manual adjustments
- Warmth
- Contrast
- Saturation
- Highlight roll-off
- Blue tone
- Fade
- Grain
- Save back to Photos
- Share through the iOS system share sheet
Instant film is great, but film packs are expensive and digital filters often only add a white border instead of reproducing the actual tonal character.
This project focuses on the part that matters more: the rendering style of instant cameras, including contrast shape, highlight compression, color bias, fade, and grain response.
- Swift 6
- SwiftUI
- Core Image
- XcodeGen
- Swift Testing
Sources/InstaxCore/- Reusable image processing core
- Independent from SwiftUI
Tests/InstaxCoreTests/- Unit tests for the processing core
iOSApp/InstantCamera/- iOS app layer
iOSApp/InstantCamera.xcodeproj- Checked-in Xcode project
iOSApp/project.yml- XcodeGen source of truth
docs/plans/- Historical design and implementation notes
- macOS with Xcode 16+
- Swift 6
- iOS deployment target: 16.0+
- Optional:
xcodegen2.38+
open iOSApp/InstantCamera.xcodeproj- Open the project in Xcode.
- Select the
InstantCameratarget. - In
Signing & Capabilities, enableAutomatically manage signing. - Choose your Apple
Team. - Change
Bundle Identifierto your own unique value, for examplecom.yourname.instantcamera. - Select your physical iPhone and run the app.
Note:
- The repository uses a placeholder bundle identifier by default:
com.example.instantcamera - A development team is required for installing onto a real device
- This repository does not provide a signed
.ipa - No App Store or TestFlight distribution is included
- If you want to run it on your own iPhone, build it locally in Xcode
- This project is not shipped under a paid Apple Developer Program signing identity
- For personal use, Xcode signing with your own Apple account or Personal Team may be sufficient, subject to Apple's provisioning limits
If you change iOSApp/project.yml:
cd iOSApp
xcodegen generateswift testxcodebuild \
-project iOSApp/InstantCamera.xcodeproj \
-scheme InstantCamera \
-configuration Debug \
-destination 'generic/platform=iOS' \
-derivedDataPath iOSApp/.derived \
CODE_SIGNING_ALLOWED=NO \
CODE_SIGNING_REQUIRED=NO \
build- Local/generated files such as
.derived,.spm,.DS_Store, andxcuserdatashould not be committed iOSApp/project.ymlandiOSApp/InstantCamera.xcodeprojshould stay aligneddocs/plans/is kept as development archive, so older naming and intermediate decisions may still appear there
Please read CONTRIBUTING.md before sending changes.
If you want to report a security issue, use the guidance in SECURITY.md.
- Improve more instant-camera profiles
- Add better visual comparison between camera styles
- Continue tuning film-like color and highlight behavior
- Add marketing screenshots for the repository
MIT. See LICENSE.
