From 16316af7a175057068630eba06e25765ae650624 Mon Sep 17 00:00:00 2001 From: Chase Naples Date: Fri, 10 Oct 2025 01:37:49 -0400 Subject: [PATCH] feat: add a simple iOS app example --- Examples/ios-app-example/Package.swift | 27 +++++++++++++++++ .../Sources/ios-app-example/main.swift | 30 +++++++++++++++++++ Examples/ios-app-example/config.json | 3 ++ 3 files changed, 60 insertions(+) create mode 100644 Examples/ios-app-example/Package.swift create mode 100644 Examples/ios-app-example/Sources/ios-app-example/main.swift create mode 100644 Examples/ios-app-example/config.json diff --git a/Examples/ios-app-example/Package.swift b/Examples/ios-app-example/Package.swift new file mode 100644 index 0000000..4781118 --- /dev/null +++ b/Examples/ios-app-example/Package.swift @@ -0,0 +1,27 @@ + +// swift-tools-version:5.9 +import PackageDescription + +let package = Package( + name: "ios-app-example", + platforms: [ + .iOS(.v13), + ], + products: [ + .executable( + name: "ios-app-example", + targets: ["ios-app-example"] + ), + ], + dependencies: [ + .package(path: "../../"), + ], + targets: [ + .executableTarget( + name: "ios-app-example", + dependencies: [ + .product(name: "ConfigReader", package: "swift-configuration"), + ] + ), + ] +) diff --git a/Examples/ios-app-example/Sources/ios-app-example/main.swift b/Examples/ios-app-example/Sources/ios-app-example/main.swift new file mode 100644 index 0000000..b3818f0 --- /dev/null +++ b/Examples/ios-app-example/Sources/ios-app-example/main.swift @@ -0,0 +1,30 @@ + +import SwiftUI +import ConfigReader + +@main +struct iOSApp: App { + var body: some Scene { + WindowGroup { + ContentView() + } + } +} + +struct ContentView: View { + @State private var message = "Loading..." + + var body: some View { + Text(message) + .onAppear(perform: loadConfig) + } + + func loadConfig() { + do { + let config = try ConfigReader.shared.read(from: "config.json") + message = config.get("message", as: String.self) ?? "Default Message" + } catch { + message = "Error loading config: \(error)" + } + } +} diff --git a/Examples/ios-app-example/config.json b/Examples/ios-app-example/config.json new file mode 100644 index 0000000..e7aa743 --- /dev/null +++ b/Examples/ios-app-example/config.json @@ -0,0 +1,3 @@ +{ + "message": "Hello from swift-configuration!" +}