scaffold multi-platform xcode project with xcodegen
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
1
.gitignore
vendored
1
.gitignore
vendored
@@ -6,3 +6,4 @@
|
|||||||
*.sync-conflict-*
|
*.sync-conflict-*
|
||||||
node_modules/
|
node_modules/
|
||||||
.env
|
.env
|
||||||
|
*.xcodeproj
|
||||||
|
|||||||
13
Apps/MagnumOpus/ContentView.swift
Normal file
13
Apps/MagnumOpus/ContentView.swift
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
import SwiftUI
|
||||||
|
|
||||||
|
struct ContentView: View {
|
||||||
|
var body: some View {
|
||||||
|
NavigationSplitView {
|
||||||
|
Text("Sidebar")
|
||||||
|
} content: {
|
||||||
|
Text("Thread List")
|
||||||
|
} detail: {
|
||||||
|
Text("Detail")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
13
Apps/MagnumOpus/MagnumOpusApp.swift
Normal file
13
Apps/MagnumOpus/MagnumOpusApp.swift
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
import SwiftUI
|
||||||
|
|
||||||
|
@main
|
||||||
|
struct MagnumOpusApp: App {
|
||||||
|
var body: some Scene {
|
||||||
|
WindowGroup {
|
||||||
|
ContentView()
|
||||||
|
}
|
||||||
|
#if os(macOS)
|
||||||
|
.defaultSize(width: 1200, height: 800)
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
}
|
||||||
9
Apps/MagnumOpusTests/AppTests.swift
Normal file
9
Apps/MagnumOpusTests/AppTests.swift
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
import Testing
|
||||||
|
|
||||||
|
@Suite("App")
|
||||||
|
struct AppTests {
|
||||||
|
@Test("placeholder")
|
||||||
|
func placeholder() {
|
||||||
|
#expect(true)
|
||||||
|
}
|
||||||
|
}
|
||||||
72
Apps/project.yml
Normal file
72
Apps/project.yml
Normal file
@@ -0,0 +1,72 @@
|
|||||||
|
name: MagnumOpus
|
||||||
|
options:
|
||||||
|
bundleIdPrefix: de.felixfoertsch
|
||||||
|
deploymentTarget:
|
||||||
|
macOS: "15.0"
|
||||||
|
iOS: "18.0"
|
||||||
|
xcodeVersion: "16.0"
|
||||||
|
indentWidth: 4
|
||||||
|
tabWidth: 4
|
||||||
|
usesTabs: true
|
||||||
|
packages:
|
||||||
|
MagnumOpusCore:
|
||||||
|
path: ../Packages/MagnumOpusCore
|
||||||
|
targets:
|
||||||
|
MagnumOpus-macOS:
|
||||||
|
type: application
|
||||||
|
platform: macOS
|
||||||
|
sources:
|
||||||
|
- path: MagnumOpus
|
||||||
|
settings:
|
||||||
|
base:
|
||||||
|
PRODUCT_NAME: MagnumOpus
|
||||||
|
PRODUCT_BUNDLE_IDENTIFIER: de.felixfoertsch.MagnumOpus
|
||||||
|
DEVELOPMENT_TEAM: NG5W75WE8U
|
||||||
|
SWIFT_STRICT_CONCURRENCY: complete
|
||||||
|
SWIFT_VERSION: "6.0"
|
||||||
|
MACOSX_DEPLOYMENT_TARGET: "15.0"
|
||||||
|
GENERATE_INFOPLIST_FILE: YES
|
||||||
|
dependencies:
|
||||||
|
- package: MagnumOpusCore
|
||||||
|
product: Models
|
||||||
|
- package: MagnumOpusCore
|
||||||
|
product: MailStore
|
||||||
|
- package: MagnumOpusCore
|
||||||
|
product: IMAPClient
|
||||||
|
- package: MagnumOpusCore
|
||||||
|
product: SyncEngine
|
||||||
|
MagnumOpus-iOS:
|
||||||
|
type: application
|
||||||
|
platform: iOS
|
||||||
|
sources:
|
||||||
|
- path: MagnumOpus
|
||||||
|
settings:
|
||||||
|
base:
|
||||||
|
PRODUCT_NAME: MagnumOpus
|
||||||
|
PRODUCT_BUNDLE_IDENTIFIER: de.felixfoertsch.MagnumOpus
|
||||||
|
DEVELOPMENT_TEAM: NG5W75WE8U
|
||||||
|
SWIFT_STRICT_CONCURRENCY: complete
|
||||||
|
SWIFT_VERSION: "6.0"
|
||||||
|
IPHONEOS_DEPLOYMENT_TARGET: "18.0"
|
||||||
|
TARGETED_DEVICE_FAMILY: "1,2"
|
||||||
|
GENERATE_INFOPLIST_FILE: YES
|
||||||
|
dependencies:
|
||||||
|
- package: MagnumOpusCore
|
||||||
|
product: Models
|
||||||
|
- package: MagnumOpusCore
|
||||||
|
product: MailStore
|
||||||
|
- package: MagnumOpusCore
|
||||||
|
product: IMAPClient
|
||||||
|
- package: MagnumOpusCore
|
||||||
|
product: SyncEngine
|
||||||
|
MagnumOpusTests:
|
||||||
|
type: bundle.unit-test
|
||||||
|
platform: macOS
|
||||||
|
sources:
|
||||||
|
- path: MagnumOpusTests
|
||||||
|
dependencies:
|
||||||
|
- target: MagnumOpus-macOS
|
||||||
|
settings:
|
||||||
|
base:
|
||||||
|
SWIFT_VERSION: "6.0"
|
||||||
|
GENERATE_INFOPLIST_FILE: YES
|
||||||
Reference in New Issue
Block a user