2016-12-20 4 views
0

При проверке Xcode 8.2 changes Я обнаружил, что теперь мы можем записывать симулятор с помощью терминала.iOS Симулятор видеозаписи с «xcrun simct» дает ошибку

Так что я пытаюсь записать видео с симулятора iOS, как описано в этом документе Apple.

Taking a Screenshot or Recording a Video Using the Command Line

Команда:

xcrun simctl io booted recordVideo demoVideo.mp4

Ошибка:

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 симулятор и приложений и работает должным образом. Эта ошибка отображается только в терминале.

Я использую Xcode 8.2. Пробовал в Simulator iPhone 7, 7 Plus, SE с iOS 10.2.

У меня отсутствуют какие-либо детали или вам необходимо установить и компонент?

+0

Что машина вы используете? – russbishop

+0

iMac (21,5 дюйма, середина 2011 года). Mac OS Sierra (10.12.2 (16C67)) – CRDave

+1

В пути для записи видео в настоящее время требуется поддержка металла, которой нет у вашего оборудования. – russbishop

ответ

1

Запись видео поддерживается только на компьютерах Mac, поддерживающих Metal. Если ваша система не поддерживает металл, вы увидите прерывание с этим сообщением. Да, мы должны сделать сообщение об ошибке более удобным для пользователя.

Чтобы увидеть список поддерживаемых систем, вы можете проверить https://support.apple.com/en-us/HT205073

+0

Спасибо за ответ. Вы правы в отношении более удобного для пользователя сообщения. Следует также упомянуть в документации «Съемка скриншота с симулятором». – CRDave

+0

Хорошая точка. Я передам комментарий для документации. –

1

это было также зафиксировано в Xcode 8.3 Beta: http://adcdownload.apple.com/Developer_Tools/Xcode_8.3_beta/Release_Notes_for_Xcode_8.3_beta.pdf

• видео, записанных simctl инструмент инструмента командной строки xcrun теперь поддерживают правильно очищать и импортировать в видеоредакторы. (29654098)

Я не проверял это в настоящее время, но это вполне возможно, что в стабильной версии Xcode эта ошибка будет исправлена ​​

+0

Любые обходные пути для включения звука? – Jules