xcode - 单击 RPSystemBroadcastPickerView 时显示异常
问题描述
单击 RPSystemBroadcastPickerView 的子视图按钮时,可能会出现一个控制器。但 t 给出了一个例外,描述如下: -
致命异常:NSInvalidArgumentException 应用程序试图以模态方式呈现活动控制器
Crashlytics 日志:-
1 libobjc.A.dylib 0x1acb54c1c objc_exception_throw
2 UIKitCore 0x1b092fb20 -[UIViewController _presentViewController:withAnimationController:completion:]
3 UIKitCore 0x1b0931e00 __63-[UIViewController _presentViewController:animated:completion:]_block_invoke
4 UIKitCore 0x1b0932354 -[UIViewController _performCoordinatedPresentOrDismiss:animated:]
5 UIKitCore 0x1b0931d4c -[UIViewController _presentViewController:animated:completion:]
6 UIKitCore 0x1b0931fe0 -[UIViewController presentViewController:animated:completion:]
7 ReplayKit 0x1d7cab6f8 -[RPModalPresentationWindow presentViewController:animated:completion:]
8 ReplayKit 0x1d7c9ba98 -[RPBroadcastPickerStandaloneViewController presentAnimated:completion:]
9 ReplayKit 0x1d7c9c54c __45-[RPSystemBroadcastPickerView buttonPressed:]_block_invoke
10 ReplayKit 0x1d7c9b8d4 __120-[RPBroadcastPickerStandaloneViewController loadViewControllerWithBundleIdentifier:showMicrophoneButton:withCompletion:]_block_invoke_2
11 libdispatch.dylib 0x1acadeec4 _dispatch_call_block_and_release
12 libdispatch.dylib 0x1acae033c _dispatch_client_callout
13 libdispatch.dylib 0x1acaec600 _dispatch_main_queue_callback_4CF
14 CoreFoundation 0x1acdbb41c __CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE__
15 CoreFoundation 0x1acdb6034 __CFRunLoopRun
16 CoreFoundation 0x1acdb5660 CFRunLoopRunSpecific
17 GraphicsServices 0x1b71c6604 GSEventRunModal
18 UIKitCore 0x1b0f8a15c UIApplicationMain
19 ScreenRecorder 0x10055d068 main + 30 (AppDelegate.swift:30)
20 libdyld.dylib 0x1acc311ec start
解决方案
这是ios13.0中的一个错误。在展示VC时,ReplayKit使用UIApplicationRotationFollowingController(modalTransitionStyle = pageSheet)来展示一个RPBroadcastPickerStandaloneViewController(modalTransitionStyle = curl)。但是 curl 仅在之前的 vc 为 fullScreen 时可用。所以解决的办法就是钩上presentApi,改变样式。
推荐阅读
- react-native - 添加子菜单以响应导航抽屉
- java - 如何通过从 java 中的 jPasswordField 获取输入来验证存储在 mysql 数据库中的密码?
- tensorflow - 如何在边缘设备推理期间读取 TPU 消耗?
- three.js - 三个js:如何获得旋转平面的法线
- reactjs - 将包含数组的数组中的数据映射到组件中
- swift - 如果 '[U]' 符合 'Foo',候选人将匹配并推断 'T' = '[U]'
- c - GDB 自动绑定共享库中的符号
- xml - 使用纯 XSLT 1.0 将 dateTime 转换为 UTC/GMT
- awk - 运行 awk 脚本后截断字符串
- angular - 使用 MatDateRangeSelectionStrategy 时如何重置日期选择器的值?