Hi,
I have some questions about the new AssistantSchema.CameraEnum.captureMode
and AssistantSchema.CameraEnum.captureDevice
introduced with iOS 18 beta 4.
Here's the context. I create a intent:
@AssistantIntent(schema: .camera.startCapture)
struct StartCaptureIntent {
var captureMode: CaptureMode
var timerDuration: CaptureDuration?
var device: CaptureDevice?
func perform() async throws -> some IntentResult {
.result()
}
}
And these app enums:
@AssistantEnum(schema: .camera.captureDevice)
enum CaptureDevice: String {
case front
case back
case ultrawide
}
@AssistantEnum(schema: .camera.captureMode)
enum CaptureMode: String {
case modeA
case modeB
}
Some CaptureDevice
cases are not available in some CaptureMode
. e.g: CaptureMode.modeA
only supports CaptureDevice.back
and CaptureDevice.front
.
In a classic AppIntent, I would create an AppEntity
to represent CaptureDevice
and use @IntentParameterDependency<CapturePhotoIntent>( \.$captureMode)
to create a dependency between the captureMode
and the captureDevice
parameters.
How can we create this dependency between two @AssistantEnum
? I'm not sure this is possible as @AssistantEnum
creates AppEnum
.