Closed StuSharpe closed 6 months ago
Here's a video demonstrating the problem described above.
Any suggestions would be greatly appreciated.
Hi @StuSharpe, thanks for reaching out and thanks for the repro video of what's happening.
Just as a few sanity tests, does the behavior persist after following all the setup steps listed in the Build the SDK into your mobile app section of our docs?
Also, you had mentioned "Siri requests initiated via the phone don't seem to exhibit this problem", is this true when the request is initiated while the device is locked? I noticed on a local repro that the Siri intent will launch an app that uses CallKit if the device is unlocked (foregrounding it) but will not do so if the device is locked.
Hi @darosal, thank you for responding.
I tried the running through the full sdk setup on the demo project, as you suggested. I found that if I went with the static library 'libIntuneMAMSwift.xcframework' ("Option 2 - Static Library", in the setup) instead of the recommended 'IntuneMamSwift.framework', the problem went away.
I'm unsure yet if this is a viable workaround in our case, I'll need to consult with our team.
I proceeded through most of the SDK setup steps with the regular framework setup too, to see if anything else made a difference, but nothing else seemed to affect it. See below.
I did some tests with the iPhone (unplugged from CarPlay) as you suggested. With the phone locked, the Siri command will prompt for the user to unlock their device before proceeding, but once unlocked (face ID or entering a code) the Siri intent works as expected, and the UIScene->continue method is hit without any additional user interaction.
Because you mentioned potential problems using CallKit, I also tried unlinking all the CallKit functionality (removing the CallKit framework also). But same behavior persists.
One additional detail I found:
I reset the project and went through all the SDK setup steps. I retested after each of the follow steps:
I stopped around here, I didn't proceed further with the File Provider extension or MSAL setup - but if you think this is useful to try I can proceed through the full setup.
Hi @darosal
So, it seems the static lib workaround (above) has turned out to be a red-herring. Once I got the static lib linking correctly, the problem reappeared.
So I think we're back to square one here. Having working Siri integration is a requirement to ship a CarPlay-enabled app on the app store, so this is a big blocker for us right now. So more than happy to try out any suggestions you may have.
Stu.
Closing stale issues. Please reopen if you still need help with this.
Describe the bug: Linking of these Intune SDK frameworks:
IntuneMAMSwift.xcframework
IntuneMAMSwiftStub.xcframework
causes Siri Intent Responses initiated via CarPlay (using the
INStartCallIntent
) to be stalled until the user brings the CarPlay scene into the foreground.In particular, the UISceneDelegate.scene(_:continue:) method in the CarPlay
UISceneDelegate
does not get called immediately as expected. But rather this action is 'queued up' and will not trigger until either:Simply unlinking the above frameworks resolves this issue, and Siri requests are relayed immediatey to the app via the UISceneDelegate.scene(_:continue:) method.
To Reproduce
Full Xcode demo project is available on request, but the setup is this:
Info.plist
, and seperateUISceneDelgate
implementations for CarPlay (Info.plist attached)IntuneMAMSwift.xcframework
IntuneMAMSwiftStub.xcframework
import IntuneMAMSwift
statements) just linking the libs is enough to reproduce the issue.INStartCallIntent
IntentReproduction Steps:
INStartCallIntent
(e.g. "Call (NAME) using (APP)")Expected behavior:
INStartCallIntent
(e.g. "CallAs noted above, simply unlinking the Intune SDK frameworks (removing completely from the project) is enough to restore the expected behavior
Screenshots and logs: Info.plist
Smartphone :
Also confirmed on iOS 15.5, and using real CarPlay hardware.
Intune App SDK for iOS :
iOS native codebase (Swift/Obj-c)
Xcode 14.2
msintuneappsdk/ms-intune-app-sdk-ios 17.3.2
AzureAD/azure-activedirectory-library-for-objc 6.0.4
Additional context:
As mentioned above, a demo project is available if it helps. (would require developer CarPlay entitlement on the Apple Developer account to run through CarPlay)
This seems specfic to Siri requests initiated via CarPlay. Siri requests initiated via the phone don't seem to exhibit this problem.
But any suggestions in the meantime are appreciated.