-
Notifications
You must be signed in to change notification settings - Fork 6
Expand file tree
/
Copy pathproject.yml
More file actions
147 lines (140 loc) · 5.02 KB
/
Copy pathproject.yml
File metadata and controls
147 lines (140 loc) · 5.02 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
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
name: SimulatorCamera
# v1.0.0 architecture: macOS container app + bundled CMIOExtension system extension.
# The container hosts the SwiftUI UI and submits OSSystemExtensionRequest activation;
# the extension (bundled inside Contents/Library/SystemExtensions/) registers a
# virtual camera that the iOS Simulator can pick up via standard AVFoundation.
options:
bundleIdPrefix: com.dautov
deploymentTarget:
macOS: "14.0"
developmentLanguage: en
createIntermediateGroups: true
generateEmptyDirectories: true
groupSortPosition: top
settings:
base:
SWIFT_VERSION: "5.10"
MACOSX_DEPLOYMENT_TARGET: "14.0"
MARKETING_VERSION: "1.0.0"
CURRENT_PROJECT_VERSION: "1"
SWIFT_STRICT_CONCURRENCY: minimal
DEAD_CODE_STRIPPING: YES
ENABLE_USER_SCRIPT_SANDBOXING: YES
# Locked to Ruslan's Apple Development team (27EZNUVV57). For
# Distribution builds (notarized DMG release), override at the
# xcodebuild command line: DEVELOPMENT_TEAM=27EZNUVV57.
DEVELOPMENT_TEAM: 27EZNUVV57
CODE_SIGN_STYLE: Automatic
# Force the modern unified "Apple Development" cert type instead of
# the legacy "Mac Developer" that Xcode picks by default for macOS apps.
CODE_SIGN_IDENTITY: "Apple Development"
"CODE_SIGN_IDENTITY[sdk=macosx*]": "Apple Development"
targets:
SimulatorCamera:
type: application
platform: macOS
sources:
- path: SimulatorCamera
excludes:
- "Info.plist"
- "*.entitlements"
- path: Shared
info:
path: SimulatorCamera/Info.plist
properties:
CFBundleDisplayName: SimulatorCamera
CFBundleShortVersionString: $(MARKETING_VERSION)
CFBundleVersion: $(CURRENT_PROJECT_VERSION)
LSMinimumSystemVersion: $(MACOSX_DEPLOYMENT_TARGET)
NSHighResolutionCapable: true
LSApplicationCategoryType: public.app-category.developer-tools
NSCameraUsageDescription: SimulatorCamera streams your Mac's webcam to the iOS Simulator. (v1.1+ feature; v1.0 ships test pattern only.)
NSSystemExtensionUsageDescription: SimulatorCamera installs a Camera Extension so the iOS Simulator can capture video without a physical device.
settings:
base:
PRODUCT_BUNDLE_IDENTIFIER: com.dautov.SimulatorCamera
PRODUCT_NAME: SimulatorCamera
CODE_SIGN_ENTITLEMENTS: SimulatorCamera/SimulatorCamera.entitlements
CODE_SIGN_STYLE: Automatic
ENABLE_HARDENED_RUNTIME: YES
GENERATE_INFOPLIST_FILE: NO
dependencies:
- target: SimulatorCameraExtension
copy:
destination: plugins
subpath: ../Library/SystemExtensions
embed: true
codeSign: true
SimulatorCameraExtension:
type: system-extension
platform: macOS
sources:
- path: SimulatorCameraExtension
excludes:
- "Info.plist"
- "*.entitlements"
- path: Shared
info:
path: SimulatorCameraExtension/Info.plist
properties:
CFBundleDisplayName: SimulatorCamera Extension
CFBundlePackageType: SYSX
CFBundleShortVersionString: $(MARKETING_VERSION)
CFBundleVersion: $(CURRENT_PROJECT_VERSION)
LSMinimumSystemVersion: $(MACOSX_DEPLOYMENT_TARGET)
NSSystemExtensionUsageDescription: SimulatorCamera registers a virtual camera so the iOS Simulator can capture video without a physical device.
# Camera Extensions use CMIOExtension Info.plist key only — NOT
# NSExtension. NSExtension is for app extensions (Today widgets,
# Share extensions, etc.). Camera Extensions are discovered by
# CMIOExtensionProvider.startService() in main.swift, with the
# Mach service name registered via this dict.
# Reference: Apple's Camera Extension Xcode template TemplateInfo.plist
# only declares CMIOExtension + NSSystemExtensionUsageDescription.
CMIOExtension:
CMIOExtensionMachServiceName: $(TeamIdentifierPrefix)com.dautov.SimulatorCamera.Extension
settings:
base:
PRODUCT_BUNDLE_IDENTIFIER: com.dautov.SimulatorCamera.Extension
PRODUCT_NAME: SimulatorCameraExtension
CODE_SIGN_ENTITLEMENTS: SimulatorCameraExtension/SimulatorCameraExtension.entitlements
CODE_SIGN_STYLE: Automatic
ENABLE_HARDENED_RUNTIME: YES
GENERATE_INFOPLIST_FILE: NO
SKIP_INSTALL: YES
simcamctl:
type: tool
platform: macOS
sources:
- path: simcamctl
- path: Shared
settings:
base:
PRODUCT_BUNDLE_IDENTIFIER: com.dautov.simcamctl
PRODUCT_NAME: simcamctl
CODE_SIGN_STYLE: Automatic
ENABLE_HARDENED_RUNTIME: YES
SKIP_INSTALL: NO
schemes:
SimulatorCamera:
build:
targets:
SimulatorCamera: all
SimulatorCameraExtension: all
run:
config: Debug
test:
config: Debug
profile:
config: Release
analyze:
config: Debug
archive:
config: Release
simcamctl:
build:
targets:
simcamctl: all
run:
config: Debug
archive:
config: Release