Skip to content

Latest commit

 

History

History
85 lines (62 loc) · 4.66 KB

File metadata and controls

85 lines (62 loc) · 4.66 KB

← Back to README

🛠️ Platform Support & Installation

Supported Platforms

Platform Latest Tested Minimum Required
iOS 18.2 15.0+
iPadOS 18.2 15.0+
watchOS — 8.0+
macOS 15.2 14.0+
visionOS 2.1 1.0+
tvOS 18.2 17.0+

Development Requirements

Tool Version
Xcode 15.0+
macOS host 14.0+
Swift 5.9 / 6.1+

Feature Availability

Feature iOS iPadOS watchOS macOS visionOS tvOS
Basic presentation ✅ ✅ ✅ ✅ ✅ ✅
Mesh gradients ✅ ✅ ✅ ✅ ✅ ✅
Glass effects ✅ ✅ Fallback ✅ ✅ ❌
Drop notifications ✅ ✅ ❌ ❌ ❌ ❌
History navigation ✅ ✅ ✅ ✅ ✅ ✅
Remote JSON ✅ ✅ ✅ ✅ ✅ ✅
Remote update screen ✅ ✅ ✅ ✅ ✅ ✅
Special effects ✅ ✅ ✅ ✅ ✅ ✅
Auto-versioning ✅ ✅ ✅ ✅ ✅ ✅

watchOS uses compact current-version, history, and update layouts automatically. Release-note descriptions and Search controls are hidden by default to save vertical space, while titles, subtitles, and icons remain visible; pass showDescription: true or search: true to opt in. watchOS 8–9 use solid fallbacks for the Material backgrounds used by SwiftNEW, watchOS 10 adds those Material backgrounds, and watchOS 11 adds native MeshGradient; older versions retain the layered gradient fallback. Animation particle counts and liquid-mesh refresh rates are reduced on Apple Watch.

For a companion Watch app, SwiftNEW uses WKCompanionAppBundleIdentifier automatically when it is present. Pass appStoreBundleIdentifier only when the App Store listing identifier still needs an explicit override. Local data.json files must be included in the Watch target itself.

CarPlay Integration

On iOS 15 and later, an approved CarPlay host app can use SwiftNEWCarPlayTemplateFactory to present update content that directly supports its approved in-car category as a native CPListTemplate. Loading and loaded templates can expose a trailing Continue button whose host callback replaces the release-note root with the app's native CPTemplate; CarPlay cannot display the phone's SwiftUI ContentView. With includesHistory: true, a History/Return button switches the same root list between current and older releases. Keeping History on the same root and replacing that root on Continue preserves a two-level release-note hierarchy. A general product changelog is not automatically eligible. CarPlay is an iOS integration rather than a separate SwiftPM platform, so no additional package platform or dependency is required.

The host app must supply its approved CarPlay entitlement and provisioning profile, plus a scene manifest or programmatic scene registration and a CPTemplateApplicationSceneDelegate. SwiftNEW does not add these app-level capabilities. The Demo contains Apple's approved CarPlay Driving Task entitlement and an integration harness for exercising the local package. Package consumers must configure the category Apple approved for their own host app. See CARPLAY.md for the complete setup and Demo test flow.

📦 Installation Guide

SwiftNEW is distributed via Swift Package Manager.

In Xcode

  1. File → Add Package Dependencies…
  2. Paste the package URL:
    https://github.com/1998code/SwiftNEWKit
    
  3. Choose a version rule (typically Up to Next Major).
  4. Add the SwiftNEW library to your target.
Step Screenshot
1. Open project Project Navigator
2. Select target Target Selection
3. Package Dependencies tab Package Dependencies
4. Add package Add Package

In Package.swift

dependencies: [
    .package(url: "https://github.com/1998code/SwiftNEWKit", from: "27.3.0")
]

After Installing

import SwiftNEW

SwiftNEW(show: $showNew)

See CONFIGURATION.md for data source setup and customization.