-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathproject.yml
More file actions
69 lines (66 loc) · 2.89 KB
/
Copy pathproject.yml
File metadata and controls
69 lines (66 loc) · 2.89 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
# xcodegen-Spezifikation der iPhone-App (Steinregen iOS).
#
# Warum: Swift Package Manager allein kann KEIN lauffähiges iOS-App-Bundle erzeugen
# (executable-Targets sind auf iOS keine Apps). Daraus erzeugt `xcodegen generate` ein
# Xcode-Projekt. Das .xcodeproj selbst ist git-ignoriert und wird reproduzierbar aus DIESER
# Datei + dem Quellbaum neu erzeugt (genau wie tools/AppIcon.icns bei der macOS-App).
#
# Bauen/Starten: `bash tools/make-ios-app.sh [run]`
#
# Die App teilt sich SteinregenCore + SteinregenRender mit der macOS-App (als lokale
# SwiftPM-Pakete eingebunden) und kompiliert dasselbe Sources/SteinregenApp-Verzeichnis —
# die plattformabhängigen Teile (Touch statt Tastatur usw.) trennt `#if os(iOS)` im Code.
name: Steinregen
options:
bundleIdPrefix: com.steinregen
createIntermediateGroups: true
deploymentTarget:
iOS: "17.0"
# Lokales SwiftPM-Paket (dieses Repo) — liefert die geteilten Bibliotheken.
packages:
SteinregenPackage:
path: .
targets:
Steinregen:
type: application
platform: iOS
deploymentTarget: "17.0"
sources:
- path: Sources/SteinregenApp
- path: iOS/Assets.xcassets # iOS-App-Icon (Pentagramm); PNG reproduzierbar erzeugt
# Lizenz und Asset-Attribution müssen auch die iOS-Binärkopie begleiten. Die beiden
# Dritt-Lizenzen aus SteinregenRender liegen zusätzlich in dessen Ressourcen-Bundle.
- path: LICENSE
buildPhase: resources
- path: THIRD-PARTY-ASSETS.md
buildPhase: resources
dependencies:
- package: SteinregenPackage
product: SteinregenCore
- package: SteinregenPackage
product: SteinregenRender
settings:
base:
PRODUCT_BUNDLE_IDENTIFIER: com.steinregen.app
MARKETING_VERSION: "0.0.0" # Platzhalter — tools/make-ios-app.sh überschreibt beim Build aus VERSION
CURRENT_PROJECT_VERSION: "1"
SWIFT_VERSION: "6.0"
GENERATE_INFOPLIST_FILE: YES
INFOPLIST_KEY_UILaunchScreen_Generation: YES
INFOPLIST_KEY_UISupportedInterfaceOrientations: UIInterfaceOrientationPortrait
INFOPLIST_KEY_UISupportedInterfaceOrientations~ipad: UIInterfaceOrientationPortrait
TARGETED_DEVICE_FAMILY: "1,2" # iPhone + iPad (beide nur Hochformat — Design ist portrait)
ASSETCATALOG_COMPILER_APPICON_NAME: AppIcon # App-Icon aus iOS/Assets.xcassets
# Signing fuer echte Geraete: automatisch verwaltet von Xcode. Die Team-ID kommt aus der
# Umgebungsvariable DEVELOPMENT_TEAM (kontoidentifizierend → NICHT ins Repo). Setzt sie
# tools/make-ios-app.sh bei Bedarf automatisch aus dem lokalen Apple-Development-Zertifikat.
# Fuer Simulator-Builds ist sie nicht noetig (leer = ok).
CODE_SIGN_STYLE: Automatic
DEVELOPMENT_TEAM: ${DEVELOPMENT_TEAM}
schemes:
Steinregen:
build:
targets:
Steinregen: all
run:
config: Debug