1 name: XCRSControlKitRunner
2 options:
3 bundleIdPrefix: com.smbcloud.xcrs-controlkit
4 createIntermediateGroups: true
5 deploymentTarget:
6 iOS: "16.0"
7 tvOS: "16.0"
8 visionOS: "1.0"
9 macOS: "13.0"
10 watchOS: "9.0"
11
12 settings:
13 base:
14 SWIFT_VERSION: "5.9"
15 GENERATE_INFOPLIST_FILE: YES
16 INFOPLIST_KEY_CFBundleDisplayName: ControlKit
17 LD_RUNPATH_SEARCH_PATHS: "$(inherited) @executable_path/Frameworks"
18
19 packages:
20 XCRSControlKit:
21 path: ..
22 swift-nio:
23 url: https://github.com/apple/swift-nio.git
24 from: 2.0.0
25
26 targetTemplates:
27 Runner:
28 type: application
29 sources:
30 - path: ${platformDir}
31 settings:
32 base:
33 PRODUCT_NAME: ControlKit
34 PRODUCT_BUNDLE_IDENTIFIER: com.smbcloud.xcrs-controlkit.${platformId}.runner
35 UITests:
36 type: bundle.ui-testing
37 sources:
38 - path: Shared
39 dependencies:
40 - target: ControlKit-${platformName}
41 - package: XCRSControlKit
42 product: XCRSControlKit
43 - package: swift-nio
44 product: NIOCore
45 - package: swift-nio
46 product: NIOHTTP1
47 - package: swift-nio
48 product: NIOPosix
49 settings:
50 base:
51 PRODUCT_BUNDLE_IDENTIFIER: com.smbcloud.xcrs-controlkit.${platformId}.runnerUITests
52 TEST_TARGET_NAME: ControlKit-${platformName}
53
54 targets:
55 ControlKit-iOS:
56 templates: [Runner]
57 platform: iOS
58 templateAttributes:
59 platformDir: iOS
60 platformId: ios
61 settings:
62 base:
63 TARGETED_DEVICE_FAMILY: "1,2"
64 ASSETCATALOG_COMPILER_APPICON_NAME: AppIcon
65 INFOPLIST_KEY_UIRequiresFullScreen: YES
66 INFOPLIST_KEY_UISupportedInterfaceOrientations: UIInterfaceOrientationPortrait
67 ControlKit-iOS-UITests:
68 templates: [UITests]
69 platform: iOS
70 templateAttributes:
71 platformName: iOS
72 platformId: ios
73
74 ControlKit-tvOS:
75 templates: [Runner]
76 platform: tvOS
77 templateAttributes:
78 platformDir: tvOS
79 platformId: tvos
80 settings:
81 base:
82 TARGETED_DEVICE_FAMILY: "3"
83 ASSETCATALOG_COMPILER_APPICON_NAME: "App Icon & Top Shelf Image"
84 ControlKit-tvOS-UITests:
85 templates: [UITests]
86 platform: tvOS
87 templateAttributes:
88 platformName: tvOS
89 platformId: tvos
90
91 ControlKit-visionOS:
92 templates: [Runner]
93 platform: visionOS
94 templateAttributes:
95 platformDir: visionOS
96 platformId: visionos
97 settings:
98 base:
99 TARGETED_DEVICE_FAMILY: "7"
100 ASSETCATALOG_COMPILER_APPICON_NAME: AppIcon
101 ControlKit-visionOS-UITests:
102 templates: [UITests]
103 platform: visionOS
104 templateAttributes:
105 platformName: visionOS
106 platformId: visionos
107
108 ControlKit-macOS:
109 templates: [Runner]
110 platform: macOS
111 templateAttributes:
112 platformDir: macOS
113 platformId: macos
114 settings:
115 base:
116 ASSETCATALOG_COMPILER_APPICON_NAME: AppIcon
117 CODE_SIGN_IDENTITY: "-"
118 ENABLE_HARDENED_RUNTIME: NO
119 ControlKit-macOS-UITests:
120 templates: [UITests]
121 platform: macOS
122 templateAttributes:
123 platformName: macOS
124 platformId: macos
125 settings:
126 base:
127 CODE_SIGN_IDENTITY: "-"
128 CODE_SIGN_ENTITLEMENTS: macOS/ControlKit-macOS-UITests.entitlements
129
130 ControlKit-watchOS:
131 templates: [Runner]
132 platform: watchOS
133 templateAttributes:
134 platformDir: watchOS
135 platformId: watchos
136 settings:
137 base:
138 TARGETED_DEVICE_FAMILY: "4"
139 ASSETCATALOG_COMPILER_APPICON_NAME: AppIcon
140 INFOPLIST_KEY_WKWatchOnly: YES
141 ControlKit-watchOS-UITests:
142 templates: [UITests]
143 platform: watchOS
144 templateAttributes:
145 platformName: watchOS
146 platformId: watchos
147
148 schemes:
149 ControlKit-iOS:
150 build:
151 targets:
152 ControlKit-iOS: all
153 ControlKit-iOS-UITests: [test]
154 test:
155 targets:
156 - ControlKit-iOS-UITests
157 ControlKit-tvOS:
158 build:
159 targets:
160 ControlKit-tvOS: all
161 ControlKit-tvOS-UITests: [test]
162 test:
163 targets:
164 - ControlKit-tvOS-UITests
165 ControlKit-visionOS:
166 build:
167 targets:
168 ControlKit-visionOS: all
169 ControlKit-visionOS-UITests: [test]
170 test:
171 targets:
172 - ControlKit-visionOS-UITests
173 ControlKit-macOS:
174 build:
175 targets:
176 ControlKit-macOS: all
177 ControlKit-macOS-UITests: [test]
178 test:
179 targets:
180 - ControlKit-macOS-UITests
181 ControlKit-watchOS:
182 build:
183 targets:
184 ControlKit-watchOS: all
185 ControlKit-watchOS-UITests: [test]
186 test:
187 targets:
188 - ControlKit-watchOS-UITests