当 info.plist 包含隐私请求时,MSMessageLiveLayout freeze/crash 在抄本中

MSMessageLiveLayout freeze/crash in transcript when info.plist contains privacy request

我有一个 iMessage 扩展程序,它使用 MSMessageLiveLayout 来处理消息。我想让扩展程序访问麦克风。添加具有正确值的 info.plist "Privacy - Microphone Usage Description" 会导致关闭扩展时转录中的 liveMessages 变为 freeze/crash。 从 info.plist 中删除隐私请求会使转录本中的 liveMessages 按预期工作...

要重现该问题,只需在此处下载 Apple 的 "ice cream" iMessage 示例扩展:https://developer.apple.com/documentation/messages/icecreambuilder_building_an_imessage_extension

然后修改以下2行代码: 在 "func composeMessage(...)" 添加以下内容:

 let layout = MSMessageLiveLayout(alternateLayout: alternateLayout)

然后在 info.plist 中添加以下任何一项:

请注意,以下隐私请求不会导致 crash/freeze:"Privacy - Location When In Use Usage Description"

我希望退出扩展程序不会导致转录中的每个 liveMessage 变为 freeze/crash。但这就是发生的事情。欢迎任何帮助...

我在相机 plist 条目中遇到了同样的事情。

这是一个 XCode 错误,已由 Apple 确认。你对此无能为力——一旦你有了这些条目,当你尝试使用 XCode.

进行调试时,你就会崩溃

在我 iMessage samples I have a sample 的 collection 中进一步探讨了这一点。它使用不同的 plist,因此 Debug 没有摄像头权限。