Swift 当info.plist包含隐私请求时,MSMessageLiveLayout冻结/崩溃在成绩单中

Swift 当info.plist包含隐私请求时,MSMessageLiveLayout冻结/崩溃在成绩单中,swift,xcode,info.plist,imessage,msmessage,Swift,Xcode,Info.plist,Imessage,Msmessage,我有一个iMessage扩展,它使用MSMessageLivelLayout来显示消息。我想让分机接入麦克风。使用正确的值添加info.plist“Privacy-Mirror Usage Description”(隐私-麦克风使用说明)会导致在分机关闭时,成绩单中的liveMessages冻结/崩溃。 从info.plist中删除隐私请求会使成绩单中的liveMessages按预期工作 要重现这个问题,只需在此处下载苹果的“冰激凌”iMessage示例扩展: 然后修改以下两行代码: 在“fun

我有一个iMessage扩展,它使用MSMessageLivelLayout来显示消息。我想让分机接入麦克风。使用正确的值添加info.plist“Privacy-Mirror Usage Description”(隐私-麦克风使用说明)会导致在分机关闭时,成绩单中的liveMessages冻结/崩溃。 从info.plist中删除隐私请求会使成绩单中的liveMessages按预期工作

要重现这个问题,只需在此处下载苹果的“冰激凌”iMessage示例扩展:

然后修改以下两行代码: 在“func composeMessage(…)”中添加以下内容:

 let layout = MSMessageLiveLayout(alternateLayout: alternateLayout)
然后在info.plist中添加以下任一项:

 let layout = MSMessageLiveLayout(alternateLayout: alternateLayout)
  • 隐私-相机使用说明
  • 隐私-位置始终使用说明
  • 隐私-麦克风使用说明
请注意,以下隐私请求不会导致崩溃/冻结:“隐私-使用时的位置使用说明”


我希望退出扩展不会导致成绩单中的每个liveMessage冻结/崩溃。但事实就是这样。欢迎提供任何帮助。

我对camera plist条目也有同样的体验

这是一个XCode错误,苹果公司证实了这一点。您对此无能为力-一旦您有了这些条目,您在尝试使用XCode调试时就会崩溃


在我的收藏中,我有一个更深入的研究。它使用不同的plist,因此调试没有摄像头权限。

我对摄像头plist条目也有同样的体验

这是一个XCode错误,苹果公司证实了这一点。您对此无能为力-一旦您有了这些条目,您在尝试使用XCode调试时就会崩溃


在我的收藏中,我有一个更深入的研究。它使用不同的plist,因此调试没有摄像头权限。

那么,请确认,您是说AppStore上发布的此类应用程序不会显示错误,对吗?这个bug只有在用XCode调试时才会出现,对吗?你应该用一个发布版本做你自己的测试来证明它,但是是的,这是用XCode调试的一个副作用!但发布版本-带有摄像头plist条目-仍然崩溃。。。您是否建议将“camera plist entries”保留在调试中,并且仅在发布版本无崩溃的情况下运行?当您单独从iMessage运行扩展时,还是从XCode运行扩展时,“仍然崩溃”?您无法完全测试从XCode运行的扩展-当通过TestFlight下载应用程序并从iMessage运行时,在调用dismise()后,它们总是会严重崩溃。。。在调试和发布之间反转摄像头plist条目-如上所述-似乎工作得非常完美…因此,为了确认,您是说AppStore上发布的此类应用程序不会显示错误,对吗?这个bug只有在用XCode调试时才会出现,对吗?你应该用一个发布版本做你自己的测试来证明它,但是是的,这是用XCode调试的一个副作用!但发布版本-带有摄像头plist条目-仍然崩溃。。。您是否建议将“camera plist entries”保留在调试中,并且仅在发布版本无崩溃的情况下运行?当您单独从iMessage运行扩展时,还是从XCode运行扩展时,“仍然崩溃”?您无法完全测试从XCode运行的扩展-当通过TestFlight下载应用程序并从iMessage运行时,在调用dismise()后,它们总是会严重崩溃。。。在调试和发布之间反转camera plist条目-如上所述-似乎工作得非常完美。。。