CarPlay OEM App for SiriKit - INSetDefrosterSettingsInCarIntent doesn't recognize "All of them" when prompted by needsValue()
| Originator: | LigerXX | ||
| Number: | rdar://27796058 | Date Originated: | 8/10/16 |
| Status: | Open | Resolved: | N/A |
| Product: | Siri | Product Version: | iOS 10 |
| Classification: | Enhancement | Reproducible: | Always |
Summary:
In the resolveDefroster(forSetDefrosterSettingsInCar: INSetDefrosterSettingsInCarIntent) we can prompt a user for more specific information regarding which defroster a user wanted to turn on (front or back), but I found that users have responded more often with "All of them" and Siri does not recognize this scenario.
In this way, it may make more sense to use an nsarray of defrosters (similar to recipients in messaging Siri extensions) going forward
Steps to Reproduce:
1. Make CarPlay app with SiriKit that conforms to the INSetDefrosterSettingsInCarIntentHandling protocol.
2. In func resolveDefroster(forSetDefrosterSettingsInCar), use the sample code in the notes below
3. Launch CarPlay and request Siri to "turn on the defroster".
4. Siri will respond with "which defroster?"
5. Respond with "all of them"
Expected Results:
defrosters value of type nsarray would exist that contains any defroster a user might have available and can be accessible similar to recipients in INMessage intents.
Actual Results:
user must specify either front or rear defroster and is unable to say "all of them" if an app developer requests needsValue()
Version:
iOS 10 developer beta 5 (14A5335b)
Notes:
Written in Swift 3
func resolveDefroster(forSetDefrosterSettingsInCar intent: INSetDefrosterSettingsInCarIntent, with: (INCarDefrosterResolutionResult) -> Void){
var defroster = INCarDefroster.unknown
if intent.defroster != .unknown {
defroster = intent.defroster
}
switch defroster {
case .front:
with(INCarDefrosterResolutionResult.success(with: intent.defroster))
case .rear:
with(INCarDefrosterResolutionResult.success(with: intent.defroster))
case .unknown:
with(INCarDefrosterResolutionResult.needsValue())
}
//with(INCarDefrosterResolutionResult.notRequired())
}
Comments
Please note: Reports posted here will not necessarily be seen by Apple. All problems should be submitted at bugreport.apple.com before they are posted here. Please only post information for Radars that you have filed yourself, and please do not include Apple confidential information in your posts. Thank you!