diff --git a/CHANGELOG.md b/CHANGELOG.md index 0496e51..e0c853e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,10 @@ # Changelog +## 3.2.0 (work in progress) + +- Add visionOS support + + ## 3.1.0 (25 January 2024) - Add `GitHubAPI` to get licenses from GitHub API diff --git a/README.md b/README.md index 700f341..26d3d2e 100644 --- a/README.md +++ b/README.md @@ -110,6 +110,7 @@ Instantiate a `AcknowListSwiftUIView` with a path to the `plist` file, or with a |:--|:--|:--| | 📱 | iOS 9.0+ | iOS 13.0+ | | 📺 | tvOS 9.0+ | tvOS 13.0+ | +| 🥽 | visionOS 1.0+ | visionOS 1.0+ | | ⌚️ | *not supported* | watchOS 7.0+ | | 💻 | *not supported* | macOS 10.15+ | diff --git a/Sources/AcknowList/AcknowListSwiftUI.swift b/Sources/AcknowList/AcknowListSwiftUI.swift index 55db5b4..d082d65 100644 --- a/Sources/AcknowList/AcknowListSwiftUI.swift +++ b/Sources/AcknowList/AcknowListSwiftUI.swift @@ -32,7 +32,7 @@ extension Acknow: Identifiable { } /// View that displays a list of acknowledgements. -@available(iOS 13.0.0, macOS 10.15.0, watchOS 7.0.0, tvOS 13.0.0, *) +@available(iOS 13.0.0, macOS 10.15.0, watchOS 7.0.0, tvOS 13.0.0, visionOS 1.0.0, *) public struct AcknowListSwiftUIView: View { /// The represented array of `Acknow`. @@ -111,7 +111,7 @@ public struct AcknowListSwiftUIView: View { } /// View that displays a row in a list of acknowledgements. -@available(iOS 13.0.0, macOS 10.15.0, watchOS 7.0.0, tvOS 13.0.0, *) +@available(iOS 13.0.0, macOS 10.15.0, watchOS 7.0.0, tvOS 13.0.0, visionOS 1.0.0, *) public struct AcknowListRowSwiftUIView: View { /// The represented `Acknow`. @@ -159,7 +159,7 @@ public struct AcknowListRowSwiftUIView: View { } } -@available(iOS 13.0.0, macOS 10.15.0, watchOS 7.0.0, tvOS 13.0.0, *) +@available(iOS 13.0.0, macOS 10.15.0, watchOS 7.0.0, tvOS 13.0.0, visionOS 1.0.0, *) struct AcknowListSwiftUI_Previews: PreviewProvider { static let license = """ Copyright (c) 2015-2024 Vincent Tourraine (https://www.vtourraine.net) diff --git a/Sources/AcknowList/AcknowListViewController.swift b/Sources/AcknowList/AcknowListViewController.swift index a4555bf..07f51ba 100644 --- a/Sources/AcknowList/AcknowListViewController.swift +++ b/Sources/AcknowList/AcknowListViewController.swift @@ -23,7 +23,7 @@ import Foundation -#if os(iOS) || os(tvOS) +#if os(iOS) || os(tvOS) || os(visionOS) import UIKit #endif @@ -31,9 +31,9 @@ import UIKit import SafariServices #endif -#if os(iOS) || os(tvOS) +#if os(iOS) || os(tvOS) || os(visionOS) /// Subclass of `UITableViewController` that displays a list of acknowledgements. -@available(iOS 9.0.0, tvOS 9.0.0, *) +@available(iOS 9.0.0, tvOS 9.0.0, visionOS 1.0.0, *) @available(iOSApplicationExtension, unavailable) open class AcknowListViewController: UITableViewController { @@ -449,12 +449,14 @@ open class AcknowListViewController: UITableViewController { } private func openRepository(_ repository: URL) { -#if !os(tvOS) if canOpenRepository(repository) { +#if os(visionOS) + UIApplication.shared.open(repository) +#elseif !os(tvOS) let safariViewController = SFSafariViewController(url: repository) present(safariViewController, animated: true) - } #endif + } } } diff --git a/Sources/AcknowList/AcknowSwiftUI.swift b/Sources/AcknowList/AcknowSwiftUI.swift index 2842382..26ed104 100644 --- a/Sources/AcknowList/AcknowSwiftUI.swift +++ b/Sources/AcknowList/AcknowSwiftUI.swift @@ -24,7 +24,7 @@ import SwiftUI /// View that displays a single acknowledgement. -@available(iOS 13.0.0, macOS 10.15.0, watchOS 7.0.0, tvOS 13.0.0, *) +@available(iOS 13.0.0, macOS 10.15.0, watchOS 7.0.0, tvOS 13.0.0, visionOS 1.0.0, *) public struct AcknowSwiftUIView: View { /// The represented acknowledgement. @@ -75,7 +75,7 @@ public struct AcknowSwiftUIView: View { } } -@available(iOS 13.0.0, macOS 10.15.0, watchOS 7.0.0, tvOS 13.0.0, *) +@available(iOS 13.0.0, macOS 10.15.0, watchOS 7.0.0, tvOS 13.0.0, visionOS 1.0.0, *) struct AcknowSwiftUI_Previews: PreviewProvider { static let license = """ Copyright (c) 2015-2024 Vincent Tourraine (https://www.vtourraine.net) diff --git a/Sources/AcknowList/AcknowViewController.swift b/Sources/AcknowList/AcknowViewController.swift index 5516546..e864341 100644 --- a/Sources/AcknowList/AcknowViewController.swift +++ b/Sources/AcknowList/AcknowViewController.swift @@ -21,11 +21,11 @@ // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN // THE SOFTWARE. -#if os(iOS) || os(tvOS) +#if os(iOS) || os(tvOS) || os(visionOS) import UIKit /// Subclass of `UIViewController` that displays a single acknowledgement. -@available(iOS 9.0.0, tvOS 9.0.0, *) +@available(iOS 9.0.0, tvOS 9.0.0, visionOS 1.0.0, *) open class AcknowViewController: UIViewController { /// The main text view.