iOS Simulator video recording with 'xcrun simct' give error

吃可爱长大的小学妹 提交于 2019-12-04 05:15:10

问题


While checking Xcode 8.2 changes I found that now we can record simulator using Terminal.

So I am trying to record video from iOS simulator as describe in this Apple Document.

Taking a Screenshot or Recording a Video Using the Command Line

Command:

xcrun simctl io booted recordVideo demoVideo.mp4

Error:

2016-12-20 15:44:27.206 simctl[6434:984477] *** Assertion failure in +[SimDisplayVideoWriter videoWriter], /BuildRoot/Library/Caches/com.apple.xbs/Sources/CoreSimulator/CoreSimulator-338.16/SimulatorKit/SimDisplayVideoWriter.m:48
2016-12-20 15:44:27.207 simctl[6434:984477] *** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Failed to create metal device for video writer.'
*** First throw call stack:
(
    0   CoreFoundation                      0x00007fffa07f90db __exceptionPreprocess + 171
    1   libobjc.A.dylib                     0x00007fffb548ba2a objc_exception_throw + 48
    2   CoreFoundation                      0x00007fffa07fdc32 +[NSException raise:format:arguments:] + 98
    3   Foundation                          0x00007fffa2266d50 -[NSAssertionHandler handleFailureInMethod:object:file:lineNumber:description:] + 195
    4   SimulatorKit                        0x000000010a248c53 +[SimDisplayVideoWriter videoWriter] + 1015
    5   SimulatorKit                        0x000000010a2499e5 +[SimDisplayVideoWriter videoWriterForURL:fileType:] + 316
    6   simctl                              0x000000010a168a00 simctl + 31232
    7   simctl                              0x000000010a166bee simctl + 23534
    8   simctl                              0x000000010a170d52 simctl + 64850
    9   libdispatch.dylib                   0x00007fffb5d3fef7 _dispatch_call_block_and_release + 12
    10  libdispatch.dylib                   0x00007fffb5d370b8 _dispatch_client_callout + 8
    11  libdispatch.dylib                   0x00007fffb5d39029 _dispatch_root_queue_drain + 917
    12  libdispatch.dylib                   0x00007fffb5d38c47 _dispatch_worker_thread3 + 99
    13  libsystem_pthread.dylib             0x00007fffb5f84712 _pthread_wqthread + 1299
    14  libsystem_pthread.dylib             0x00007fffb5f841ed start_wqthread + 13
)
libc++abi.dylib: terminating with uncaught exception of type NSException
Abort trap: 6

iOS simulator and application both working properly. This error only shown in Terminal.

I am using Xcode 8.2. Tried in Simulator of iPhone 7, 7 Plus, SE with iOS 10.2.

Am I missing any detail or need to install and component?


回答1:


Video recording is only supported on Macs that support Metal. If your system doesn't support metal, you will see an abort with that message. Yeah, we should make that error message more user friendly.

To see a list of supported systems, you can check out https://support.apple.com/en-us/HT205073




回答2:


this was also fixed in Xcode 8.3 Beta: http://adcdownload.apple.com/Developer_Tools/Xcode_8.3_beta/Release_Notes_for_Xcode_8.3_beta.pdf

• Videos recorded by the simctl tool of the xcrun command line tool now support scrubbing and import into video editors correctly. (29654098)

I did not test this currently but it is quite possible that in stable version of Xcode this bug will be fixed



来源:https://stackoverflow.com/questions/41240133/ios-simulator-video-recording-with-xcrun-simct-give-error

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!