-
Notifications
You must be signed in to change notification settings - Fork 69
Expand file tree
/
Copy pathCargo.toml
More file actions
503 lines (490 loc) · 39.7 KB
/
Cargo.toml
File metadata and controls
503 lines (490 loc) · 39.7 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
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
[workspace]
members = [
"crates/*",
"crates/test-assembly/crates/*",
"examples/*",
"framework-crates/*",
]
resolver = "2"
[workspace.package]
authors = ["Mads Marquart <mads@marquart.dk>"]
edition = "2021"
rust-version = "1.71"
repository = "https://github.com/madsmtm/objc2"
# Framework crate defaults
# Remember to update in header-translator, and manually authored lib.rs.
version = "0.3.2"
# Some crates in this repo have a different license, see LICENSE.md.
license = "Zlib OR Apache-2.0 OR MIT"
categories = [
"api-bindings",
"development-tools::ffi",
"external-ffi-bindings",
"os::macos-apis",
]
[workspace.lints.rust]
elided_lifetimes_in_paths = "warn"
missing_copy_implementations = "warn"
non_ascii_idents = "deny"
unreachable_pub = "warn"
unsafe_op_in_unsafe_fn = "deny"
[workspace.lints.clippy]
cargo = { level = "warn", priority = -1 } # Because of `lint_groups_priority`
ptr_as_ptr = "warn"
# We can't change the name of `objc2-ad-support`.
redundant_feature_names = "allow"
[workspace.metadata.cargo-semver-checks.lints]
# We model protocols as traits, but we don't support users implementing them
# manually outside of `define_class!`.
trait_method_unsafe_removed = { level = "warn" }
# Splitting protocols into smaller protocols, or adding non-required methods
# is often done by Apple. It isn't yet clear how we'd handle that if the user
# has implemented the protocol themselves, see also:
# https://github.com/madsmtm/objc2/issues/338
trait_added_supertrait = { level = "warn" }
[profile.assembly-tests]
inherits = "release"
# Enable LTO to allow testing the `unstable-static-sel-inlined` feature
lto = true
# Release data for framework crates
[workspace.metadata.release]
allow-branch = ["main"]
push-remote = "0origin"
shared-version = true # Framework crates share a version number
tag-prefix = "frameworks"
tag-name = "{{prefix}}-{{version}}"
owners = ["madsmtm", "simlay"]
rate-limit.existing-packages = 300
# TODO: Check for typos in CI
[workspace.metadata.typos]
files.extend-exclude = [
# Generated files don't make sense to lint
"generated",
"*.s",
# This tests some weird strings
"framework-crates/objc2-foundation/src/tests/string.rs",
]
# Comes from the `clang` crate
default.extend-identifiers.ParmDecl = "ParmDecl"
# In framework-crates/objc2-core-nfc/translation-config.toml
default.extend-identifiers.initWithVASCommandConfigurations = "initWithVASCommandConfigurations"
# In framework-crates/objc2-image-io/translation-config.toml
default.extend-identifiers.IMAGEIO_PNG_FILTER_PAETH = "IMAGEIO_PNG_FILTER_PAETH"
# In framework-crates/objc2-io-bluetooth/translation-config.toml
default.extend-identifiers.kBluetoothHCIEvnetMaskLinkSupervisionTimeoutChangedEvent = "kBluetoothHCIEvnetMaskLinkSupervisionTimeoutChangedEvent"
default.extend-identifiers.kBluetoothHCIEvnetMaskEnhancedFlushCompleteEvent = "kBluetoothHCIEvnetMaskEnhancedFlushCompleteEvent"
# In BackgroundAssets, BA is short of that framework.
default.extend-words.BA = "BA"
# Used in Metal, LOD = level of detail
default.extend-words.lod = "lod"
# Used in framework crates.
[workspace.dependencies]
# Use +1 versions of `dispatch2`, `objc2` and `block2`, to allow breaking
# changes in these while avoiding having to release breaking changes of the
# framework crates to go along with it.
#
# See <https://doc.rust-lang.org/cargo/reference/specifying-dependencies.html#version-metadata>
#
# (this of course requires that the API we expose is similar enough that framework
# crates themselves won't break in that version update. But that's the plan).
dispatch2 = { path = "crates/dispatch2", version = ">=0.3.0, <0.5.0", default-features = false } # v0.3.0 or v0.4.*
block2 = { path = "crates/block2", version = ">=0.6.1, <0.8.0", default-features = false } # v0.6.1 or v0.7.*
objc2 = { path = "crates/objc2", version = ">=0.6.2, <0.8.0", default-features = false } # v0.6.2 or v0.7.*
# Use a reasonably new version of libc.
libc = { version = "0.2.80", default-features = false }
# Use a version of bitflags that supports `impl`.
bitflags = { version = "2.5.0", default-features = false }
##
## AUTO-GENERATED BELOW
##
objc2-ar-kit = { path = "framework-crates/objc2-ar-kit", version = "0.3.2", default-features = false }
objc2-avf-audio = { path = "framework-crates/objc2-avf-audio", version = "0.3.2", default-features = false }
objc2-av-foundation = { path = "framework-crates/objc2-av-foundation", version = "0.3.2", default-features = false }
objc2-av-kit = { path = "framework-crates/objc2-av-kit", version = "0.3.2", default-features = false }
objc2-av-routing = { path = "framework-crates/objc2-av-routing", version = "0.3.2", default-features = false }
objc2-accessibility = { path = "framework-crates/objc2-accessibility", version = "0.3.2", default-features = false }
objc2-accessory-setup-kit = { path = "framework-crates/objc2-accessory-setup-kit", version = "0.3.2", default-features = false }
objc2-accounts = { path = "framework-crates/objc2-accounts", version = "0.3.2", default-features = false }
objc2-ad-services = { path = "framework-crates/objc2-ad-services", version = "0.3.2", default-features = false }
objc2-ad-support = { path = "framework-crates/objc2-ad-support", version = "0.3.2", default-features = false }
objc2-app-clip = { path = "framework-crates/objc2-app-clip", version = "0.3.2", default-features = false }
objc2-app-kit = { path = "framework-crates/objc2-app-kit", version = "0.3.2", default-features = false }
objc2-app-tracking-transparency = { path = "framework-crates/objc2-app-tracking-transparency", version = "0.3.2", default-features = false }
objc2-application-services = { path = "framework-crates/objc2-application-services", version = "0.3.2", default-features = false }
objc2-audio-toolbox = { path = "framework-crates/objc2-audio-toolbox", version = "0.3.2", default-features = false }
objc2-authentication-services = { path = "framework-crates/objc2-authentication-services", version = "0.3.2", default-features = false }
objc2-automatic-assessment-configuration = { path = "framework-crates/objc2-automatic-assessment-configuration", version = "0.3.2", default-features = false }
objc2-automator = { path = "framework-crates/objc2-automator", version = "0.3.2", default-features = false }
objc2-background-assets = { path = "framework-crates/objc2-background-assets", version = "0.3.2", default-features = false }
objc2-background-tasks = { path = "framework-crates/objc2-background-tasks", version = "0.3.2", default-features = false }
objc2-browser-engine-core = { path = "framework-crates/objc2-browser-engine-core", version = "0.3.2", default-features = false }
objc2-browser-engine-kit = { path = "framework-crates/objc2-browser-engine-kit", version = "0.3.2", default-features = false }
objc2-browser-kit = { path = "framework-crates/objc2-browser-kit", version = "0.3.2", default-features = false }
objc2-business-chat = { path = "framework-crates/objc2-business-chat", version = "0.3.2", default-features = false }
objc2-cf-network = { path = "framework-crates/objc2-cf-network", version = "0.3.2", default-features = false }
objc2-call-kit = { path = "framework-crates/objc2-call-kit", version = "0.3.2", default-features = false }
objc2-car-play = { path = "framework-crates/objc2-car-play", version = "0.3.2", default-features = false }
objc2-carbon = { path = "framework-crates/objc2-carbon", version = "0.3.2", default-features = false }
objc2-cinematic = { path = "framework-crates/objc2-cinematic", version = "0.3.2", default-features = false }
objc2-class-kit = { path = "framework-crates/objc2-class-kit", version = "0.3.2", default-features = false }
objc2-clock-kit = { path = "framework-crates/objc2-clock-kit", version = "0.3.2", default-features = false }
objc2-cloud-kit = { path = "framework-crates/objc2-cloud-kit", version = "0.3.2", default-features = false }
objc2-collaboration = { path = "framework-crates/objc2-collaboration", version = "0.3.2", default-features = false }
objc2-color-sync = { path = "framework-crates/objc2-color-sync", version = "0.3.2", default-features = false }
objc2-compositor-services = { path = "framework-crates/objc2-compositor-services", version = "0.3.2", default-features = false }
objc2-contacts = { path = "framework-crates/objc2-contacts", version = "0.3.2", default-features = false }
objc2-contacts-ui = { path = "framework-crates/objc2-contacts-ui", version = "0.3.2", default-features = false }
objc2-core-audio = { path = "framework-crates/objc2-core-audio", version = "0.3.2", default-features = false }
objc2-core-audio-kit = { path = "framework-crates/objc2-core-audio-kit", version = "0.3.2", default-features = false }
objc2-core-audio-types = { path = "framework-crates/objc2-core-audio-types", version = "0.3.2", default-features = false }
objc2-core-bluetooth = { path = "framework-crates/objc2-core-bluetooth", version = "0.3.2", default-features = false }
objc2-core-data = { path = "framework-crates/objc2-core-data", version = "0.3.2", default-features = false }
objc2-core-foundation = { path = "framework-crates/objc2-core-foundation", version = "0.3.2", default-features = false }
objc2-core-graphics = { path = "framework-crates/objc2-core-graphics", version = "0.3.2", default-features = false }
objc2-core-haptics = { path = "framework-crates/objc2-core-haptics", version = "0.3.2", default-features = false }
objc2-core-image = { path = "framework-crates/objc2-core-image", version = "0.3.2", default-features = false }
objc2-core-location = { path = "framework-crates/objc2-core-location", version = "0.3.2", default-features = false }
objc2-core-location-ui = { path = "framework-crates/objc2-core-location-ui", version = "0.3.2", default-features = false }
objc2-core-midi = { path = "framework-crates/objc2-core-midi", version = "0.3.2", default-features = false }
objc2-core-ml = { path = "framework-crates/objc2-core-ml", version = "0.3.2", default-features = false }
objc2-core-media = { path = "framework-crates/objc2-core-media", version = "0.3.2", default-features = false }
objc2-core-media-io = { path = "framework-crates/objc2-core-media-io", version = "0.3.2", default-features = false }
objc2-core-motion = { path = "framework-crates/objc2-core-motion", version = "0.3.2", default-features = false }
objc2-core-nfc = { path = "framework-crates/objc2-core-nfc", version = "0.3.2", default-features = false }
objc2-core-services = { path = "framework-crates/objc2-core-services", version = "0.3.2", default-features = false }
objc2-core-spotlight = { path = "framework-crates/objc2-core-spotlight", version = "0.3.2", default-features = false }
objc2-core-telephony = { path = "framework-crates/objc2-core-telephony", version = "0.3.2", default-features = false }
objc2-core-text = { path = "framework-crates/objc2-core-text", version = "0.3.2", default-features = false }
objc2-core-video = { path = "framework-crates/objc2-core-video", version = "0.3.2", default-features = false }
objc2-core-wlan = { path = "framework-crates/objc2-core-wlan", version = "0.3.2", default-features = false }
objc2-crypto-token-kit = { path = "framework-crates/objc2-crypto-token-kit", version = "0.3.2", default-features = false }
objc2-data-detection = { path = "framework-crates/objc2-data-detection", version = "0.3.2", default-features = false }
objc2-device-check = { path = "framework-crates/objc2-device-check", version = "0.3.2", default-features = false }
objc2-device-discovery-extension = { path = "framework-crates/objc2-device-discovery-extension", version = "0.3.2", default-features = false }
objc2-device-discovery-ui = { path = "framework-crates/objc2-device-discovery-ui", version = "0.3.2", default-features = false }
objc2-disk-arbitration = { path = "framework-crates/objc2-disk-arbitration", version = "0.3.2", default-features = false }
objc2-event-kit = { path = "framework-crates/objc2-event-kit", version = "0.3.2", default-features = false }
objc2-event-kit-ui = { path = "framework-crates/objc2-event-kit-ui", version = "0.3.2", default-features = false }
objc2-exception-handling = { path = "framework-crates/objc2-exception-handling", version = "0.3.2", default-features = false }
objc2-execution-policy = { path = "framework-crates/objc2-execution-policy", version = "0.3.2", default-features = false }
objc2-exposure-notification = { path = "framework-crates/objc2-exposure-notification", version = "0.3.2", default-features = false }
objc2-extension-kit = { path = "framework-crates/objc2-extension-kit", version = "0.3.2", default-features = false }
objc2-external-accessory = { path = "framework-crates/objc2-external-accessory", version = "0.3.2", default-features = false }
objc2-fs-kit = { path = "framework-crates/objc2-fs-kit", version = "0.3.2", default-features = false }
objc2-file-provider = { path = "framework-crates/objc2-file-provider", version = "0.3.2", default-features = false }
objc2-file-provider-ui = { path = "framework-crates/objc2-file-provider-ui", version = "0.3.2", default-features = false }
objc2-finder-sync = { path = "framework-crates/objc2-finder-sync", version = "0.3.2", default-features = false }
objc2-foundation = { path = "framework-crates/objc2-foundation", version = "0.3.2", default-features = false }
objc2-gl-kit = { path = "framework-crates/objc2-gl-kit", version = "0.3.2", default-features = false }
objc2-game-controller = { path = "framework-crates/objc2-game-controller", version = "0.3.2", default-features = false }
objc2-game-kit = { path = "framework-crates/objc2-game-kit", version = "0.3.2", default-features = false }
objc2-game-save = { path = "framework-crates/objc2-game-save", version = "0.3.2", default-features = false }
objc2-gameplay-kit = { path = "framework-crates/objc2-gameplay-kit", version = "0.3.2", default-features = false }
objc2-health-kit = { path = "framework-crates/objc2-health-kit", version = "0.3.2", default-features = false }
objc2-health-kit-ui = { path = "framework-crates/objc2-health-kit-ui", version = "0.3.2", default-features = false }
objc2-home-kit = { path = "framework-crates/objc2-home-kit", version = "0.3.2", default-features = false }
objc2-io-bluetooth = { path = "framework-crates/objc2-io-bluetooth", version = "0.3.2", default-features = false }
objc2-io-bluetooth-ui = { path = "framework-crates/objc2-io-bluetooth-ui", version = "0.3.2", default-features = false }
objc2-io-kit = { path = "framework-crates/objc2-io-kit", version = "0.3.2", default-features = false }
objc2-io-surface = { path = "framework-crates/objc2-io-surface", version = "0.3.2", default-features = false }
objc2-io-usb-host = { path = "framework-crates/objc2-io-usb-host", version = "0.3.2", default-features = false }
objc2-identity-lookup = { path = "framework-crates/objc2-identity-lookup", version = "0.3.2", default-features = false }
objc2-identity-lookup-ui = { path = "framework-crates/objc2-identity-lookup-ui", version = "0.3.2", default-features = false }
objc2-image-capture-core = { path = "framework-crates/objc2-image-capture-core", version = "0.3.2", default-features = false }
objc2-image-io = { path = "framework-crates/objc2-image-io", version = "0.3.2", default-features = false }
objc2-input-method-kit = { path = "framework-crates/objc2-input-method-kit", version = "0.3.2", default-features = false }
objc2-intents = { path = "framework-crates/objc2-intents", version = "0.3.2", default-features = false }
objc2-intents-ui = { path = "framework-crates/objc2-intents-ui", version = "0.3.2", default-features = false }
objc2-javascript-core = { path = "framework-crates/objc2-javascript-core", version = "0.3.2", default-features = false }
objc2-latent-semantic-mapping = { path = "framework-crates/objc2-latent-semantic-mapping", version = "0.3.2", default-features = false }
objc2-link-presentation = { path = "framework-crates/objc2-link-presentation", version = "0.3.2", default-features = false }
objc2-local-authentication = { path = "framework-crates/objc2-local-authentication", version = "0.3.2", default-features = false }
objc2-local-authentication-embedded-ui = { path = "framework-crates/objc2-local-authentication-embedded-ui", version = "0.3.2", default-features = false }
objc2-ml-compute = { path = "framework-crates/objc2-ml-compute", version = "0.3.2", default-features = false }
objc2-mail-kit = { path = "framework-crates/objc2-mail-kit", version = "0.3.2", default-features = false }
objc2-map-kit = { path = "framework-crates/objc2-map-kit", version = "0.3.2", default-features = false }
objc2-media-accessibility = { path = "framework-crates/objc2-media-accessibility", version = "0.3.2", default-features = false }
objc2-media-extension = { path = "framework-crates/objc2-media-extension", version = "0.3.2", default-features = false }
objc2-media-player = { path = "framework-crates/objc2-media-player", version = "0.3.2", default-features = false }
objc2-media-setup = { path = "framework-crates/objc2-media-setup", version = "0.3.2", default-features = false }
objc2-media-toolbox = { path = "framework-crates/objc2-media-toolbox", version = "0.3.2", default-features = false }
objc2-message-ui = { path = "framework-crates/objc2-message-ui", version = "0.3.2", default-features = false }
objc2-messages = { path = "framework-crates/objc2-messages", version = "0.3.2", default-features = false }
objc2-metal = { path = "framework-crates/objc2-metal", version = "0.3.2", default-features = false }
objc2-metal-fx = { path = "framework-crates/objc2-metal-fx", version = "0.3.2", default-features = false }
objc2-metal-kit = { path = "framework-crates/objc2-metal-kit", version = "0.3.2", default-features = false }
objc2-metal-performance-shaders = { path = "framework-crates/objc2-metal-performance-shaders", version = "0.3.2", default-features = false }
objc2-metal-performance-shaders-graph = { path = "framework-crates/objc2-metal-performance-shaders-graph", version = "0.3.2", default-features = false }
objc2-metric-kit = { path = "framework-crates/objc2-metric-kit", version = "0.3.2", default-features = false }
objc2-model-io = { path = "framework-crates/objc2-model-io", version = "0.3.2", default-features = false }
objc2-multipeer-connectivity = { path = "framework-crates/objc2-multipeer-connectivity", version = "0.3.2", default-features = false }
objc2-natural-language = { path = "framework-crates/objc2-natural-language", version = "0.3.2", default-features = false }
objc2-nearby-interaction = { path = "framework-crates/objc2-nearby-interaction", version = "0.3.2", default-features = false }
objc2-network = { path = "framework-crates/objc2-network", version = "0.3.2", default-features = false }
objc2-network-extension = { path = "framework-crates/objc2-network-extension", version = "0.3.2", default-features = false }
objc2-notification-center = { path = "framework-crates/objc2-notification-center", version = "0.3.2", default-features = false }
objc2-osa-kit = { path = "framework-crates/objc2-osa-kit", version = "0.3.2", default-features = false }
objc2-os-log = { path = "framework-crates/objc2-os-log", version = "0.3.2", default-features = false }
objc2-open-directory = { path = "framework-crates/objc2-open-directory", version = "0.3.2", default-features = false }
objc2-open-gl = { path = "framework-crates/objc2-open-gl", version = "0.3.2", default-features = false }
objc2-open-gl-es = { path = "framework-crates/objc2-open-gl-es", version = "0.3.2", default-features = false }
objc2-pdf-kit = { path = "framework-crates/objc2-pdf-kit", version = "0.3.2", default-features = false }
objc2-phase = { path = "framework-crates/objc2-phase", version = "0.3.2", default-features = false }
objc2-paravirtualized-graphics = { path = "framework-crates/objc2-paravirtualized-graphics", version = "0.3.2", default-features = false }
objc2-pass-kit = { path = "framework-crates/objc2-pass-kit", version = "0.3.2", default-features = false }
objc2-pencil-kit = { path = "framework-crates/objc2-pencil-kit", version = "0.3.2", default-features = false }
objc2-photos = { path = "framework-crates/objc2-photos", version = "0.3.2", default-features = false }
objc2-photos-ui = { path = "framework-crates/objc2-photos-ui", version = "0.3.2", default-features = false }
objc2-preference-panes = { path = "framework-crates/objc2-preference-panes", version = "0.3.2", default-features = false }
objc2-push-kit = { path = "framework-crates/objc2-push-kit", version = "0.3.2", default-features = false }
objc2-push-to-talk = { path = "framework-crates/objc2-push-to-talk", version = "0.3.2", default-features = false }
objc2-quartz = { path = "framework-crates/objc2-quartz", version = "0.3.2", default-features = false }
objc2-quartz-core = { path = "framework-crates/objc2-quartz-core", version = "0.3.2", default-features = false }
objc2-quick-look = { path = "framework-crates/objc2-quick-look", version = "0.3.2", default-features = false }
objc2-quick-look-thumbnailing = { path = "framework-crates/objc2-quick-look-thumbnailing", version = "0.3.2", default-features = false }
objc2-quick-look-ui = { path = "framework-crates/objc2-quick-look-ui", version = "0.3.2", default-features = false }
objc2-replay-kit = { path = "framework-crates/objc2-replay-kit", version = "0.3.2", default-features = false }
objc2-safari-services = { path = "framework-crates/objc2-safari-services", version = "0.3.2", default-features = false }
objc2-safety-kit = { path = "framework-crates/objc2-safety-kit", version = "0.3.2", default-features = false }
objc2-scene-kit = { path = "framework-crates/objc2-scene-kit", version = "0.3.2", default-features = false }
objc2-screen-capture-kit = { path = "framework-crates/objc2-screen-capture-kit", version = "0.3.2", default-features = false }
objc2-screen-saver = { path = "framework-crates/objc2-screen-saver", version = "0.3.2", default-features = false }
objc2-screen-time = { path = "framework-crates/objc2-screen-time", version = "0.3.2", default-features = false }
objc2-scripting-bridge = { path = "framework-crates/objc2-scripting-bridge", version = "0.3.2", default-features = false }
objc2-security = { path = "framework-crates/objc2-security", version = "0.3.2", default-features = false }
objc2-security-foundation = { path = "framework-crates/objc2-security-foundation", version = "0.3.2", default-features = false }
objc2-security-interface = { path = "framework-crates/objc2-security-interface", version = "0.3.2", default-features = false }
objc2-security-ui = { path = "framework-crates/objc2-security-ui", version = "0.3.2", default-features = false }
objc2-sensitive-content-analysis = { path = "framework-crates/objc2-sensitive-content-analysis", version = "0.3.2", default-features = false }
objc2-sensor-kit = { path = "framework-crates/objc2-sensor-kit", version = "0.3.2", default-features = false }
objc2-service-management = { path = "framework-crates/objc2-service-management", version = "0.3.2", default-features = false }
objc2-shared-with-you = { path = "framework-crates/objc2-shared-with-you", version = "0.3.2", default-features = false }
objc2-shared-with-you-core = { path = "framework-crates/objc2-shared-with-you-core", version = "0.3.2", default-features = false }
objc2-shazam-kit = { path = "framework-crates/objc2-shazam-kit", version = "0.3.2", default-features = false }
objc2-social = { path = "framework-crates/objc2-social", version = "0.3.2", default-features = false }
objc2-sound-analysis = { path = "framework-crates/objc2-sound-analysis", version = "0.3.2", default-features = false }
objc2-speech = { path = "framework-crates/objc2-speech", version = "0.3.2", default-features = false }
objc2-sprite-kit = { path = "framework-crates/objc2-sprite-kit", version = "0.3.2", default-features = false }
objc2-store-kit = { path = "framework-crates/objc2-store-kit", version = "0.3.2", default-features = false }
objc2-symbols = { path = "framework-crates/objc2-symbols", version = "0.3.2", default-features = false }
objc2-system-configuration = { path = "framework-crates/objc2-system-configuration", version = "0.3.2", default-features = false }
objc2-system-extensions = { path = "framework-crates/objc2-system-extensions", version = "0.3.2", default-features = false }
objc2-tv-ml-kit = { path = "framework-crates/objc2-tv-ml-kit", version = "0.3.2", default-features = false }
objc2-tv-services = { path = "framework-crates/objc2-tv-services", version = "0.3.2", default-features = false }
objc2-tv-ui-kit = { path = "framework-crates/objc2-tv-ui-kit", version = "0.3.2", default-features = false }
objc2-thread-network = { path = "framework-crates/objc2-thread-network", version = "0.3.2", default-features = false }
objc2-touch-controller = { path = "framework-crates/objc2-touch-controller", version = "0.3.2", default-features = false }
objc2-ui-kit = { path = "framework-crates/objc2-ui-kit", version = "0.3.2", default-features = false }
objc2-uniform-type-identifiers = { path = "framework-crates/objc2-uniform-type-identifiers", version = "0.3.2", default-features = false }
objc2-user-notifications = { path = "framework-crates/objc2-user-notifications", version = "0.3.2", default-features = false }
objc2-user-notifications-ui = { path = "framework-crates/objc2-user-notifications-ui", version = "0.3.2", default-features = false }
objc2-video-subscriber-account = { path = "framework-crates/objc2-video-subscriber-account", version = "0.3.2", default-features = false }
objc2-video-toolbox = { path = "framework-crates/objc2-video-toolbox", version = "0.3.2", default-features = false }
objc2-virtualization = { path = "framework-crates/objc2-virtualization", version = "0.3.2", default-features = false }
objc2-vision = { path = "framework-crates/objc2-vision", version = "0.3.2", default-features = false }
objc2-watch-connectivity = { path = "framework-crates/objc2-watch-connectivity", version = "0.3.2", default-features = false }
objc2-watch-kit = { path = "framework-crates/objc2-watch-kit", version = "0.3.2", default-features = false }
objc2-web-kit = { path = "framework-crates/objc2-web-kit", version = "0.3.2", default-features = false }
objc2-xc-test = { path = "framework-crates/objc2-xc-test", version = "0.3.2", default-features = false }
objc2-xc-ui-automation = { path = "framework-crates/objc2-xc-ui-automation", version = "0.3.2", default-features = false }
objc2-itunes-library = { path = "framework-crates/objc2-itunes-library", version = "0.3.2", default-features = false }
# These are useful for examples, since it allows them to be self-contained.
#
# That is, the examples can specify the dependencies as one normally would,
# with version and everything, and the patches here will take care of
# ensuring they are still compiled against the crates in the repository.
[patch.crates-io]
block2 = { path = "crates/block2" }
dispatch2 = { path = "crates/dispatch2" }
objc2 = { path = "crates/objc2" }
objc2-ar-kit = { path = "framework-crates/objc2-ar-kit" }
objc2-avf-audio = { path = "framework-crates/objc2-avf-audio" }
objc2-av-foundation = { path = "framework-crates/objc2-av-foundation" }
objc2-av-kit = { path = "framework-crates/objc2-av-kit" }
objc2-av-routing = { path = "framework-crates/objc2-av-routing" }
objc2-accessibility = { path = "framework-crates/objc2-accessibility" }
objc2-accessory-setup-kit = { path = "framework-crates/objc2-accessory-setup-kit" }
objc2-accounts = { path = "framework-crates/objc2-accounts" }
objc2-ad-services = { path = "framework-crates/objc2-ad-services" }
objc2-ad-support = { path = "framework-crates/objc2-ad-support" }
objc2-app-clip = { path = "framework-crates/objc2-app-clip" }
objc2-app-kit = { path = "framework-crates/objc2-app-kit" }
objc2-app-tracking-transparency = { path = "framework-crates/objc2-app-tracking-transparency" }
objc2-application-services = { path = "framework-crates/objc2-application-services" }
objc2-audio-toolbox = { path = "framework-crates/objc2-audio-toolbox" }
objc2-authentication-services = { path = "framework-crates/objc2-authentication-services" }
objc2-automatic-assessment-configuration = { path = "framework-crates/objc2-automatic-assessment-configuration" }
objc2-automator = { path = "framework-crates/objc2-automator" }
objc2-background-assets = { path = "framework-crates/objc2-background-assets" }
objc2-background-tasks = { path = "framework-crates/objc2-background-tasks" }
objc2-browser-engine-core = { path = "framework-crates/objc2-browser-engine-core" }
objc2-browser-engine-kit = { path = "framework-crates/objc2-browser-engine-kit" }
objc2-browser-kit = { path = "framework-crates/objc2-browser-kit" }
objc2-business-chat = { path = "framework-crates/objc2-business-chat" }
objc2-cf-network = { path = "framework-crates/objc2-cf-network" }
objc2-call-kit = { path = "framework-crates/objc2-call-kit" }
objc2-car-play = { path = "framework-crates/objc2-car-play" }
objc2-carbon = { path = "framework-crates/objc2-carbon" }
objc2-cinematic = { path = "framework-crates/objc2-cinematic" }
objc2-class-kit = { path = "framework-crates/objc2-class-kit" }
objc2-clock-kit = { path = "framework-crates/objc2-clock-kit" }
objc2-cloud-kit = { path = "framework-crates/objc2-cloud-kit" }
objc2-collaboration = { path = "framework-crates/objc2-collaboration" }
objc2-color-sync = { path = "framework-crates/objc2-color-sync" }
objc2-compositor-services = { path = "framework-crates/objc2-compositor-services" }
objc2-contacts = { path = "framework-crates/objc2-contacts" }
objc2-contacts-ui = { path = "framework-crates/objc2-contacts-ui" }
objc2-core-audio = { path = "framework-crates/objc2-core-audio" }
objc2-core-audio-kit = { path = "framework-crates/objc2-core-audio-kit" }
objc2-core-audio-types = { path = "framework-crates/objc2-core-audio-types" }
objc2-core-bluetooth = { path = "framework-crates/objc2-core-bluetooth" }
objc2-core-data = { path = "framework-crates/objc2-core-data" }
objc2-core-foundation = { path = "framework-crates/objc2-core-foundation" }
objc2-core-graphics = { path = "framework-crates/objc2-core-graphics" }
objc2-core-haptics = { path = "framework-crates/objc2-core-haptics" }
objc2-core-image = { path = "framework-crates/objc2-core-image" }
objc2-core-location = { path = "framework-crates/objc2-core-location" }
objc2-core-location-ui = { path = "framework-crates/objc2-core-location-ui" }
objc2-core-midi = { path = "framework-crates/objc2-core-midi" }
objc2-core-ml = { path = "framework-crates/objc2-core-ml" }
objc2-core-media = { path = "framework-crates/objc2-core-media" }
objc2-core-media-io = { path = "framework-crates/objc2-core-media-io" }
objc2-core-motion = { path = "framework-crates/objc2-core-motion" }
objc2-core-nfc = { path = "framework-crates/objc2-core-nfc" }
objc2-core-services = { path = "framework-crates/objc2-core-services" }
objc2-core-spotlight = { path = "framework-crates/objc2-core-spotlight" }
objc2-core-telephony = { path = "framework-crates/objc2-core-telephony" }
objc2-core-text = { path = "framework-crates/objc2-core-text" }
objc2-core-video = { path = "framework-crates/objc2-core-video" }
objc2-core-wlan = { path = "framework-crates/objc2-core-wlan" }
objc2-crypto-token-kit = { path = "framework-crates/objc2-crypto-token-kit" }
objc2-data-detection = { path = "framework-crates/objc2-data-detection" }
objc2-device-check = { path = "framework-crates/objc2-device-check" }
objc2-device-discovery-extension = { path = "framework-crates/objc2-device-discovery-extension" }
objc2-device-discovery-ui = { path = "framework-crates/objc2-device-discovery-ui" }
objc2-disk-arbitration = { path = "framework-crates/objc2-disk-arbitration" }
objc2-event-kit = { path = "framework-crates/objc2-event-kit" }
objc2-event-kit-ui = { path = "framework-crates/objc2-event-kit-ui" }
objc2-exception-handling = { path = "framework-crates/objc2-exception-handling" }
objc2-execution-policy = { path = "framework-crates/objc2-execution-policy" }
objc2-exposure-notification = { path = "framework-crates/objc2-exposure-notification" }
objc2-extension-kit = { path = "framework-crates/objc2-extension-kit" }
objc2-external-accessory = { path = "framework-crates/objc2-external-accessory" }
objc2-fs-kit = { path = "framework-crates/objc2-fs-kit" }
objc2-file-provider = { path = "framework-crates/objc2-file-provider" }
objc2-file-provider-ui = { path = "framework-crates/objc2-file-provider-ui" }
objc2-finder-sync = { path = "framework-crates/objc2-finder-sync" }
objc2-foundation = { path = "framework-crates/objc2-foundation" }
objc2-gl-kit = { path = "framework-crates/objc2-gl-kit" }
objc2-game-controller = { path = "framework-crates/objc2-game-controller" }
objc2-game-kit = { path = "framework-crates/objc2-game-kit" }
objc2-game-save = { path = "framework-crates/objc2-game-save" }
objc2-gameplay-kit = { path = "framework-crates/objc2-gameplay-kit" }
objc2-health-kit = { path = "framework-crates/objc2-health-kit" }
objc2-health-kit-ui = { path = "framework-crates/objc2-health-kit-ui" }
objc2-home-kit = { path = "framework-crates/objc2-home-kit" }
objc2-io-bluetooth = { path = "framework-crates/objc2-io-bluetooth" }
objc2-io-bluetooth-ui = { path = "framework-crates/objc2-io-bluetooth-ui" }
objc2-io-kit = { path = "framework-crates/objc2-io-kit" }
objc2-io-surface = { path = "framework-crates/objc2-io-surface" }
objc2-io-usb-host = { path = "framework-crates/objc2-io-usb-host" }
objc2-identity-lookup = { path = "framework-crates/objc2-identity-lookup" }
objc2-identity-lookup-ui = { path = "framework-crates/objc2-identity-lookup-ui" }
objc2-image-capture-core = { path = "framework-crates/objc2-image-capture-core" }
objc2-image-io = { path = "framework-crates/objc2-image-io" }
objc2-input-method-kit = { path = "framework-crates/objc2-input-method-kit" }
objc2-intents = { path = "framework-crates/objc2-intents" }
objc2-intents-ui = { path = "framework-crates/objc2-intents-ui" }
objc2-javascript-core = { path = "framework-crates/objc2-javascript-core" }
objc2-latent-semantic-mapping = { path = "framework-crates/objc2-latent-semantic-mapping" }
objc2-link-presentation = { path = "framework-crates/objc2-link-presentation" }
objc2-local-authentication = { path = "framework-crates/objc2-local-authentication" }
objc2-local-authentication-embedded-ui = { path = "framework-crates/objc2-local-authentication-embedded-ui" }
objc2-ml-compute = { path = "framework-crates/objc2-ml-compute" }
objc2-mail-kit = { path = "framework-crates/objc2-mail-kit" }
objc2-map-kit = { path = "framework-crates/objc2-map-kit" }
objc2-media-accessibility = { path = "framework-crates/objc2-media-accessibility" }
objc2-media-extension = { path = "framework-crates/objc2-media-extension" }
objc2-media-player = { path = "framework-crates/objc2-media-player" }
objc2-media-setup = { path = "framework-crates/objc2-media-setup" }
objc2-media-toolbox = { path = "framework-crates/objc2-media-toolbox" }
objc2-message-ui = { path = "framework-crates/objc2-message-ui" }
objc2-messages = { path = "framework-crates/objc2-messages" }
objc2-metal = { path = "framework-crates/objc2-metal" }
objc2-metal-fx = { path = "framework-crates/objc2-metal-fx" }
objc2-metal-kit = { path = "framework-crates/objc2-metal-kit" }
objc2-metal-performance-shaders = { path = "framework-crates/objc2-metal-performance-shaders" }
objc2-metal-performance-shaders-graph = { path = "framework-crates/objc2-metal-performance-shaders-graph" }
objc2-metric-kit = { path = "framework-crates/objc2-metric-kit" }
objc2-model-io = { path = "framework-crates/objc2-model-io" }
objc2-multipeer-connectivity = { path = "framework-crates/objc2-multipeer-connectivity" }
objc2-natural-language = { path = "framework-crates/objc2-natural-language" }
objc2-nearby-interaction = { path = "framework-crates/objc2-nearby-interaction" }
objc2-network = { path = "framework-crates/objc2-network" }
objc2-network-extension = { path = "framework-crates/objc2-network-extension" }
objc2-notification-center = { path = "framework-crates/objc2-notification-center" }
objc2-osa-kit = { path = "framework-crates/objc2-osa-kit" }
objc2-os-log = { path = "framework-crates/objc2-os-log" }
objc2-open-directory = { path = "framework-crates/objc2-open-directory" }
objc2-open-gl = { path = "framework-crates/objc2-open-gl" }
objc2-open-gl-es = { path = "framework-crates/objc2-open-gl-es" }
objc2-pdf-kit = { path = "framework-crates/objc2-pdf-kit" }
objc2-phase = { path = "framework-crates/objc2-phase" }
objc2-paravirtualized-graphics = { path = "framework-crates/objc2-paravirtualized-graphics" }
objc2-pass-kit = { path = "framework-crates/objc2-pass-kit" }
objc2-pencil-kit = { path = "framework-crates/objc2-pencil-kit" }
objc2-photos = { path = "framework-crates/objc2-photos" }
objc2-photos-ui = { path = "framework-crates/objc2-photos-ui" }
objc2-preference-panes = { path = "framework-crates/objc2-preference-panes" }
objc2-push-kit = { path = "framework-crates/objc2-push-kit" }
objc2-push-to-talk = { path = "framework-crates/objc2-push-to-talk" }
objc2-quartz = { path = "framework-crates/objc2-quartz" }
objc2-quartz-core = { path = "framework-crates/objc2-quartz-core" }
objc2-quick-look = { path = "framework-crates/objc2-quick-look" }
objc2-quick-look-thumbnailing = { path = "framework-crates/objc2-quick-look-thumbnailing" }
objc2-quick-look-ui = { path = "framework-crates/objc2-quick-look-ui" }
objc2-replay-kit = { path = "framework-crates/objc2-replay-kit" }
objc2-safari-services = { path = "framework-crates/objc2-safari-services" }
objc2-safety-kit = { path = "framework-crates/objc2-safety-kit" }
objc2-scene-kit = { path = "framework-crates/objc2-scene-kit" }
objc2-screen-capture-kit = { path = "framework-crates/objc2-screen-capture-kit" }
objc2-screen-saver = { path = "framework-crates/objc2-screen-saver" }
objc2-screen-time = { path = "framework-crates/objc2-screen-time" }
objc2-scripting-bridge = { path = "framework-crates/objc2-scripting-bridge" }
objc2-security = { path = "framework-crates/objc2-security" }
objc2-security-foundation = { path = "framework-crates/objc2-security-foundation" }
objc2-security-interface = { path = "framework-crates/objc2-security-interface" }
objc2-security-ui = { path = "framework-crates/objc2-security-ui" }
objc2-sensitive-content-analysis = { path = "framework-crates/objc2-sensitive-content-analysis" }
objc2-sensor-kit = { path = "framework-crates/objc2-sensor-kit" }
objc2-service-management = { path = "framework-crates/objc2-service-management" }
objc2-shared-with-you = { path = "framework-crates/objc2-shared-with-you" }
objc2-shared-with-you-core = { path = "framework-crates/objc2-shared-with-you-core" }
objc2-shazam-kit = { path = "framework-crates/objc2-shazam-kit" }
objc2-social = { path = "framework-crates/objc2-social" }
objc2-sound-analysis = { path = "framework-crates/objc2-sound-analysis" }
objc2-speech = { path = "framework-crates/objc2-speech" }
objc2-sprite-kit = { path = "framework-crates/objc2-sprite-kit" }
objc2-store-kit = { path = "framework-crates/objc2-store-kit" }
objc2-symbols = { path = "framework-crates/objc2-symbols" }
objc2-system-configuration = { path = "framework-crates/objc2-system-configuration" }
objc2-system-extensions = { path = "framework-crates/objc2-system-extensions" }
objc2-tv-ml-kit = { path = "framework-crates/objc2-tv-ml-kit" }
objc2-tv-services = { path = "framework-crates/objc2-tv-services" }
objc2-tv-ui-kit = { path = "framework-crates/objc2-tv-ui-kit" }
objc2-thread-network = { path = "framework-crates/objc2-thread-network" }
objc2-touch-controller = { path = "framework-crates/objc2-touch-controller" }
objc2-ui-kit = { path = "framework-crates/objc2-ui-kit" }
objc2-uniform-type-identifiers = { path = "framework-crates/objc2-uniform-type-identifiers" }
objc2-user-notifications = { path = "framework-crates/objc2-user-notifications" }
objc2-user-notifications-ui = { path = "framework-crates/objc2-user-notifications-ui" }
objc2-video-subscriber-account = { path = "framework-crates/objc2-video-subscriber-account" }
objc2-video-toolbox = { path = "framework-crates/objc2-video-toolbox" }
objc2-virtualization = { path = "framework-crates/objc2-virtualization" }
objc2-vision = { path = "framework-crates/objc2-vision" }
objc2-watch-connectivity = { path = "framework-crates/objc2-watch-connectivity" }
objc2-watch-kit = { path = "framework-crates/objc2-watch-kit" }
objc2-web-kit = { path = "framework-crates/objc2-web-kit" }
objc2-xc-test = { path = "framework-crates/objc2-xc-test" }
objc2-xc-ui-automation = { path = "framework-crates/objc2-xc-ui-automation" }
objc2-itunes-library = { path = "framework-crates/objc2-itunes-library" }