스크린 샷을 저장할 때 Xcode 8.2 시뮬레이터 충돌
XCode 8.2 업데이트 후 시뮬레이터 스크린 샷을 저장할 때마다 항상 충돌이 발생했습니다. 콘텐츠를 재설정하고 설정도 여전히 충돌합니다.
모든 시뮬레이터를 제거하고 다시 설치해야합니까?
업데이트 :
- 8.2.1에도 같은 문제가 있습니다.
- 8.3 Sierra 만 지원됩니다.
다음은 충돌 보고서입니다.
Process: Simulator [48928]
Path: /Applications/Xcode.app/Contents/Developer/Applications/Simulator.app/Contents/MacOS/Simulator
Identifier: com.apple.iphonesimulator
Version: 10.0 (726.7)
Build Info: Indigo-726007000000000~5
Code Type: X86-64 (Native)
Parent Process: ??? [1]
Responsible: Simulator [48928]
User ID: 501
PlugIn Path: /Applications/Xcode.app/Contents/Frameworks/libswiftFoundation.dylib
PlugIn Identifier: libswiftFoundation.dylib
PlugIn Version: 3.0.2 (800.0.63)
Date/Time: 2016-12-13 23:43:25.860 +0800
OS Version: Mac OS X 10.11.6 (15G1108)
Report Version: 11
Anonymous UUID: 6E8AEBAE-0AF8-D350-66D6-57EC500D69F5
Sleep/Wake UUID: 6E017B49-1A38-4D3A-AB8F-FD9E200B6286
Time Awake Since Boot: 110000 seconds
Time Since Wake: 10000 seconds
System Integrity Protection: enabled
Crashed Thread: 0 Dispatch queue: com.apple.main-thread
Exception Type: EXC_BAD_ACCESS (SIGSEGV)
Exception Codes: EXC_I386_GPFLT
Exception Note: EXC_CORPSE_NOTIFY
Application Specific Information:
Performing @selector(saveScreenShot:) from sender NSMenuItem 0x7fd05a7329f0
Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0 libobjc.A.dylib 0x00007fff946adcdc lookUpImpOrForward + 135
1 libobjc.A.dylib 0x00007fff946a8591 objc_msgSend + 209
2 libsystem_blocks.dylib 0x00007fff9b684986 _Block_object_assign + 364
3 com.apple.Foundation 0x00007fff8dc21ca4 __copy_helper_block_ + 49
4 libsystem_blocks.dylib 0x00007fff9b68459d _Block_copy_internal + 325
5 libswiftFoundation.dylib 0x000000010178af95 _TToFC10Foundation12_SwiftNSData19enumerateByteRangesfT5usingFTSVVSC8_NSRangeGSpV10ObjectiveC8ObjCBool__T__T_ + 21
6 com.apple.Foundation 0x00007fff8db02a94 _NSWriteDataToFileWithExtendedAttributes + 742
7 com.apple.iphonesimulator 0x0000000100ffdc1e 0x100ff1000 + 52254
8 com.apple.iphonesimulator 0x0000000100ffdda9 0x100ff1000 + 52649
9 libsystem_trace.dylib 0x00007fff9a5bd07a _os_activity_initiate + 75
10 com.apple.AppKit 0x00007fff909d4dbd -[NSApplication sendAction:to:from:] + 460
11 com.apple.AppKit 0x00007fff909d4b57 -[NSMenuItem _corePerformAction] + 336
12 com.apple.AppKit 0x00007fff909d48b7 -[NSCarbonMenuImpl performActionWithHighlightingForItemAtIndex:] + 114
13 libsystem_trace.dylib 0x00007fff9a5bd07a _os_activity_initiate + 75
14 com.apple.AppKit 0x00007fff909d37a5 -[NSMenu performKeyEquivalent:] + 357
15 com.apple.AppKit 0x00007fff909d2949 -[NSApplication _handleKeyEquivalent:] + 920
16 com.apple.AppKit 0x00007fff908f90fe -[NSApplication sendEvent:] + 4274
17 com.apple.iphonesimulator 0x000000010100d151 0x100ff1000 + 115025
18 com.apple.AppKit 0x00007fff9075fdf2 -[NSApplication run] + 796
19 com.apple.AppKit 0x00007fff90729368 NSApplicationMain + 1176
20 libdyld.dylib 0x00007fff99c955ad start + 1
Thread 1:: Dispatch queue: com.apple.libdispatch-manager
0 libsystem_kernel.dylib 0x00007fff97827efa kevent_qos + 10
1 libdispatch.dylib 0x00007fff9612d165 _dispatch_mgr_invoke + 216
2 libdispatch.dylib 0x00007fff9612cdcd _dispatch_mgr_thread + 52
Thread 2:: com.apple.NSEventThread
0 libsystem_kernel.dylib 0x00007fff97820f72 mach_msg_trap + 10
1 libsystem_kernel.dylib 0x00007fff978203b3 mach_msg + 55
2 com.apple.CoreFoundation 0x00007fff97319124 __CFRunLoopServiceMachPort + 212
3 com.apple.CoreFoundation 0x00007fff973185ec __CFRunLoopRun + 1356
4 com.apple.CoreFoundation 0x00007fff97317e38 CFRunLoopRunSpecific + 296
5 com.apple.AppKit 0x00007fff908c1d95 _NSEventThread + 149
6 libsystem_pthread.dylib 0x00007fff928a299d _pthread_body + 131
7 libsystem_pthread.dylib 0x00007fff928a291a _pthread_start + 168
8 libsystem_pthread.dylib 0x00007fff928a0351 thread_start + 13
Thread 3:
0 libsystem_kernel.dylib 0x00007fff978275e2 __workq_kernreturn + 10
1 libsystem_pthread.dylib 0x00007fff928a2578 _pthread_wqthread + 1283
2 libsystem_pthread.dylib 0x00007fff928a0341 start_wqthread + 13
Thread 4:
0 libsystem_kernel.dylib 0x00007fff978275e2 __workq_kernreturn + 10
1 libsystem_pthread.dylib 0x00007fff928a2578 _pthread_wqthread + 1283
2 libsystem_pthread.dylib 0x00007fff928a0341 start_wqthread + 13
Thread 5:
0 libsystem_kernel.dylib 0x00007fff978275e2 __workq_kernreturn + 10
1 libsystem_pthread.dylib 0x00007fff928a2578 _pthread_wqthread + 1283
2 libsystem_pthread.dylib 0x00007fff928a0341 start_wqthread + 13
Thread 6:
0 libsystem_kernel.dylib 0x00007fff978275e2 __workq_kernreturn + 10
1 libsystem_pthread.dylib 0x00007fff928a2578 _pthread_wqthread + 1283
2 libsystem_pthread.dylib 0x00007fff928a0341 start_wqthread + 13
Thread 7:
0 libsystem_kernel.dylib 0x00007fff978275e2 __workq_kernreturn + 10
1 libsystem_pthread.dylib 0x00007fff928a2578 _pthread_wqthread + 1283
2 libsystem_pthread.dylib 0x00007fff928a0341 start_wqthread + 13
Thread 0 crashed with X86 Thread State (64-bit):
rax: 0x00007fff6382b2c0 rbx: 0x00007fff6384ce48 rcx: 0x021b77058d48fb89 rdx: 0x00007fff638545f8
rdi: 0x00007fff6384ce48 rsi: 0x00007fff976efa45 rbp: 0x00007fff5ec0dc30 rsp: 0x00007fff5ec0dbe0
r8: 0x0000000000000000 r9: 0x0000000000000001 r10: 0x00007fff93c7d1e0 r11: 0x00007fff6384ce48
r12: 0x00007fff976efa45 r13: 0x0000000000000000 r14: 0x0000000000000001 r15: 0x00007ffffffffff8
rip: 0x00007fff946adcdc rfl: 0x0000000000010206 cr2: 0x00007fff93c7c000
saveScreenShot:
선택기 를 호출하는 동안 분할 오류 또는보다 구체적으로 일반적인 보호 오류로 인해 충돌이 발생하는 것 같습니다 . 발생 이유는 여러 가지에 따라 달라질 수 있으므로 재설치가 도움이 될지 말하기는 어렵습니다.
어쨌든 시뮬레이터의 스크린 샷 (⌘S) 기능이 충돌을 일으킨다면 이에 대해 할 수있는 일은 거의 없습니다. 가장 좋은 방법은 아마도 Apple에 버그 보고서를 제출하는 것 입니다.
최신 정보:
I just updated to the 8.2 GM, and low and behold, ⌘S crashes for me as well. Although I'm getting KERN_INVALID_ADDRESS
instead of EXC_I386_GPFLT
.
One workaround, for the time being, is copying the screen and pasting into Preview:
Yeah, unfortunately, this is tripping over a bug in Foundation on OS X 10.11. You won't have the problem if you upgrade to macOS Sierra.
If you cannot upgrade to Sierra right now, you can still take screenshots from the commandline:
xcrun simctl io booted screenshot <path to output file>
This is mentioned in the Xcode 8.2 Release Notes
Simulator can crash when saving a screenshot when running on OS X El Capitan. (29182710) The crash does not occur on macOS Sierra.
Please find the below steps for getting the screenshot.
1) Go to Simulators -> Edit -> Copy Screen or you can use the shortcut (ctrl + cmd + c).
2) Open the Preview and go to File -> New from Clipboard or you can use the shortcut (cmd + n).
3) Now go to File -> Save or you can use the shortcut (cmd + s).
Or you can also refer the below GIF presentation.
So an easier workaround is this:
Run app in simulator (obviously)
In simulator go to Edit>Copy Screen
- Open Preview app
- Go back to simulator and save screenshot i.e. File>Save Screenshot
Done!
Not sure why this prevents the bug from occurring but it worked for me. It's faster than all the other methods described above.
Solution 1
1) Go to Simulators > Edit > Copy Screen (⌃⌘C)
2) Open Preview App > Go to File > New from Clipboard (⌘N) and Save (⌘S) to your favorite location on your machine
Solution 2:- Using the xcrun Xcode command-line utility
Open Terminal App
and run the following command to take screenshot
xcrun simctl io booted screenshot
If you wish to save the captured screenshot to specific location
xcrun simctl io booted screenshot <path_to_output_file>
Another convenient way -> Shift+Command+4 - tap the space bar, tap on the window to get snapshot of the Simulator's window.
https://support.apple.com/en-us/HT201361
참고URL : https://stackoverflow.com/questions/41125363/xcode-8-2-simulator-crash-when-save-screen-shot
'program tip' 카테고리의 다른 글
메이크 파일에 여러 줄 주석을 추가하는 방법 (0) | 2020.08.15 |
---|---|
오류시 'pi'기호를 표시하는 컴파일러 (0) | 2020.08.15 |
DataRow를 복사하거나 복제하는 C # 간단한 방법? (0) | 2020.08.15 |
C #에서 'for'및 'foreach'제어 구조의 성능 차이 (0) | 2020.08.15 |
Android 앱용 투명 데모 화면을 어떻게 만드나요? (0) | 2020.08.15 |