Skip to content

About

Adaptive SwiftUI wallpaper browser for iPhone and iPad with SwiftData, App Intents, and multilingual support.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Repository files navigation

WallpaperApp

WallpaperApp is a SwiftUI iOS wallpaper browser for iPhone and iPad. You can browse remote wallpapers, save favorites, write images to Photos, review recent downloads, and see recommendation cards that explain why a wallpaper was ranked higher.

iOS CI License: MIT

Repository hero showing the wallpaper discovery experience on iPhone and iPad

Screenshots

This section shows the current product surface. Because no physical iPhone or iPad was connected on March 11, 2026, the gallery currently uses screenshots from the running simulator build.

iPhone discovery

iPhone discovery screen with recommendation cards

iPhone settings

iPhone settings screen with recommendation controls and download counts

iPad split view

iPad split view showing the discovery grid and persistent detail pane

What it includes

This section summarizes the current product surface so you can understand what already exists before you add new features.

  • Adaptive navigation for iPhone and iPad. Phones use a tab bar, and iPads use a split view sidebar.
  • A discovery experience with search, orientation filtering, infinite scroll, explainable recommendations, and large previews.
  • A favorites screen backed by SwiftData.
  • A recent downloads screen that lets you reopen and clear local download history.
  • A wallpaper detail screen with save, favorite, share, and source actions.
  • An App Shortcuts entry that opens the app from the Shortcuts app or Siri.

Tech stack

This section describes the implementation choices that shape the codebase.

  • SwiftUI for the full UI layer
  • SwiftData for local persistence
  • Swift 6.2 with SWIFT_STRICT_CONCURRENCY = complete
  • Photos for write-only image saving
  • AppIntents for app shortcuts support
  • XcodeGen as the project source of truth through project.yml
  • The Picsum API as the remote wallpaper source

The project does not use third-party runtime dependencies.

Requirements

You must use a recent Apple toolchain because the project currently targets iOS 26.0 and Swift 6.2.

  • macOS with Xcode 26.3 or later
  • xcodegen 2.44.1 or later
  • An available iOS 26 simulator or a compatible device
  • Network access for wallpaper browsing and image downloads

Run locally

You can build the app from Xcode or from the command line. If you change the project structure, regenerate the Xcode project before building.

  1. Install xcodegen if it is not already available.

    brew install xcodegen
  2. Generate the Xcode project from project.yml.

    xcodegen generate
  3. Open the project in Xcode.

    open WallpaperApp.xcodeproj
  4. Select an iPhone or iPad simulator, then run the WallpaperApp scheme.

If you prefer the command line, use the following build command.

xcodebuild -project WallpaperApp.xcodeproj \
  -scheme WallpaperApp \
  -destination 'generic/platform=iOS Simulator' \
  build

Test the project

The repository includes a unit test target for the recommendation engine. Run tests on any available simulator.

xcodebuild -project WallpaperApp.xcodeproj \
  -scheme WallpaperApp \
  -destination 'platform=iOS Simulator,name=iPhone 17 Pro' \
  test

If iPhone 17 Pro is not installed on your machine, replace it with any available simulator name from xcrun simctl list devices.

Project structure

This section gives you a quick map of the repository so you can place new code without fighting the existing layout.

  • WallpaperApp/App: app entry point and shared service container
  • WallpaperApp/AppIntents: Shortcuts and Siri entry points
  • WallpaperApp/Models: SwiftData models and shared value types
  • WallpaperApp/Services: API access, recommendations, preferences, favorites, download history, and Photos integration
  • WallpaperApp/ViewModels: screen-level state orchestration
  • WallpaperApp/Views: feature UIs for discovery, favorites, settings, and adaptive root navigation
  • WallpaperAppTests: unit tests
  • project.yml: XcodeGen configuration

Product notes

This section calls out the platform constraints and privacy behavior that matter when you evolve the app.

  • The app saves images to Photos, but iOS does not let third-party apps set the system wallpaper automatically.
  • Recommendation logic runs on device. The app does not upload favorites to a recommendation service.
  • Download history and user preferences are stored locally with SwiftData.
  • Wallpaper browsing depends on the external Picsum service, so the app does not currently support offline browsing.

Changelog

Use the changelog to separate released work from in-progress updates.

License

WallpaperApp is available under the MIT License. The current license keeps the public repository easy to reuse while you continue shipping product features.

Next steps

You can use the current foundation to keep product work moving without a large restructure.

  1. Add offline image caching so discovery and detail views stay useful on poor networks.
  2. Add snapshot or UI tests for the adaptive iPhone and iPad layouts.
  3. Expand the recommendation engine with more explicit user controls and feedback signals.

About

Adaptive SwiftUI wallpaper browser for iPhone and iPad with SwiftData, App Intents, and multilingual support.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages