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.