From b91b03b74f56f2b430226b33939a5d0359dc9048 Mon Sep 17 00:00:00 2001 From: James Magahern Date: Thu, 19 Feb 2026 22:38:45 -0800 Subject: [PATCH] ios project skeleton --- ios/.gitignore | 2 + ios/Apps/Sybil/Sources/SybilApp.swift | 13 ++++++ ios/Apps/Sybil/project.yml | 42 +++++++++++++++++++ ios/Packages/Sybil/.gitignore | 8 ++++ ios/Packages/Sybil/Package.swift | 27 ++++++++++++ .../Sybil/Sources/Sybil/SplitView.swift | 19 +++++++++ .../Sybil/Tests/SybilTests/SybilTests.swift | 6 +++ ios/project.yml | 6 +++ 8 files changed, 123 insertions(+) create mode 100644 ios/.gitignore create mode 100644 ios/Apps/Sybil/Sources/SybilApp.swift create mode 100644 ios/Apps/Sybil/project.yml create mode 100644 ios/Packages/Sybil/.gitignore create mode 100644 ios/Packages/Sybil/Package.swift create mode 100644 ios/Packages/Sybil/Sources/Sybil/SplitView.swift create mode 100644 ios/Packages/Sybil/Tests/SybilTests/SybilTests.swift create mode 100644 ios/project.yml diff --git a/ios/.gitignore b/ios/.gitignore new file mode 100644 index 0000000..574a5ff --- /dev/null +++ b/ios/.gitignore @@ -0,0 +1,2 @@ +*.xcodeproj + diff --git a/ios/Apps/Sybil/Sources/SybilApp.swift b/ios/Apps/Sybil/Sources/SybilApp.swift new file mode 100644 index 0000000..190c14a --- /dev/null +++ b/ios/Apps/Sybil/Sources/SybilApp.swift @@ -0,0 +1,13 @@ +import Sybil +import SwiftUI +import UIKit + +@main +struct SybilApp: App +{ + var body: some Scene { + WindowGroup { + SplitView() + } + } +} diff --git a/ios/Apps/Sybil/project.yml b/ios/Apps/Sybil/project.yml new file mode 100644 index 0000000..ad74bf1 --- /dev/null +++ b/ios/Apps/Sybil/project.yml @@ -0,0 +1,42 @@ +packages: + Sybil: + path: Packages/Sybil + +targets: + SybilApp: + type: application + platform: iOS + deploymentTarget: "18.0" + sources: + - Sources + dependencies: + - package: Sybil + product: Sybil + settings: + base: + PRODUCT_BUNDLE_IDENTIFIER: com.sybil.app + PRODUCT_MODULE_NAME: SybilApp + DEVELOPMENT_TEAM: "" + CODE_SIGN_STYLE: Automatic + SWIFT_VERSION: 6.0 + TARGETED_DEVICE_FAMILY: "1,2" + GENERATE_INFOPLIST_FILE: YES + MARKETING_VERSION: 1.0 + CURRENT_PROJECT_VERSION: 1 + INFOPLIST_KEY_CFBundleDisplayName: Sybil + INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents: YES + INFOPLIST_KEY_UILaunchScreen_Generation: YES + INFOPLIST_KEY_UISupportedInterfaceOrientations_iPhone: UIInterfaceOrientationPortrait + INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad: UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight + +schemes: + Sybil: + build: + targets: + SybilApp: all + run: + config: Debug + test: + config: Debug + archive: + config: Release diff --git a/ios/Packages/Sybil/.gitignore b/ios/Packages/Sybil/.gitignore new file mode 100644 index 0000000..0023a53 --- /dev/null +++ b/ios/Packages/Sybil/.gitignore @@ -0,0 +1,8 @@ +.DS_Store +/.build +/Packages +xcuserdata/ +DerivedData/ +.swiftpm/configuration/registries.json +.swiftpm/xcode/package.xcworkspace/contents.xcworkspacedata +.netrc diff --git a/ios/Packages/Sybil/Package.swift b/ios/Packages/Sybil/Package.swift new file mode 100644 index 0000000..d972b92 --- /dev/null +++ b/ios/Packages/Sybil/Package.swift @@ -0,0 +1,27 @@ +// swift-tools-version: 6.1 +// The swift-tools-version declares the minimum version of Swift required to build this package. + +import PackageDescription + +let package = Package( + name: "Sybil", + platforms: [ + .iOS("18.0") + ], + products: [ + // Products define the executables and libraries a package produces, making them visible to other packages. + .library( + name: "Sybil", + targets: ["Sybil"]), + ], + targets: [ + // Targets are the basic building blocks of a package, defining a module or a test suite. + // Targets can depend on other targets in this package and products from dependencies. + .target( + name: "Sybil"), + .testTarget( + name: "SybilTests", + dependencies: ["Sybil"] + ), + ] +) diff --git a/ios/Packages/Sybil/Sources/Sybil/SplitView.swift b/ios/Packages/Sybil/Sources/Sybil/SplitView.swift new file mode 100644 index 0000000..d16b8e6 --- /dev/null +++ b/ios/Packages/Sybil/Sources/Sybil/SplitView.swift @@ -0,0 +1,19 @@ +// +// SplitView.swift +// Sybil +// +// Created by James Magahern on 2/19/26. +// + +import SwiftUI + +public struct SplitView: View +{ + public init() { + + } + + public var body: some View { + Text("Not Yet Implemented: replace me.") + } +} diff --git a/ios/Packages/Sybil/Tests/SybilTests/SybilTests.swift b/ios/Packages/Sybil/Tests/SybilTests/SybilTests.swift new file mode 100644 index 0000000..24c6fff --- /dev/null +++ b/ios/Packages/Sybil/Tests/SybilTests/SybilTests.swift @@ -0,0 +1,6 @@ +import Testing +@testable import Sybil + +@Test func example() async throws { + // Write your test here and use APIs like `#expect(...)` to check expected conditions. +} diff --git a/ios/project.yml b/ios/project.yml new file mode 100644 index 0000000..4420c68 --- /dev/null +++ b/ios/project.yml @@ -0,0 +1,6 @@ +name: Sybil +options: + createIntermediateGroups: true + generateEmptyDirectories: true +include: + - Apps/Sybil/project.yml