问题
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