Working on building an automatic UI test for a swift iOS app. The app involves a web-view for logging in with facebook. Every time tap within the bounds of the web-view and try to log into facebook it crashes Xcode if I am attempting to build the UI test using the built in Xcode UI recording. It does not matter if I use my iPhone 6 or a simulator, no matter what Xcode will crash.
I am using Xcode 9. And the FBSDKLoginKit and FBSDKCoreKit.
Steps to reproduce:
1) Have an app with a webview
2) Hit record UI test
3) Click anywhere within the bounds of the webview
Is there a reason for this behavior?
Are there settings in Xcode I need to change in order to record web-view interactions?
Below is the error message I get when Xcode crashes.
Process: Xcode [70544]
Path: /Applications/Xcode.app/Contents/MacOS/Xcode
Identifier: com.apple.dt.Xcode
Version: 9.3 (14154)
Build Info: IDEFrameworks-14154000000000000~2
App Item ID: 497799835
App External ID: 826408812
Code Type: X86-64 (Native)
Parent Process: ??? [1]
Responsible: Xcode [70544]
User ID: 501
Date/Time: 2018-05-21 14:04:50.053 -0400
OS Version: Mac OS X 10.13.4 (17E199)
Report Version: 12
Anonymous UUID: 335CE1E7-B5AB-F717-E6D0-019AF52B3708
Sleep/Wake UUID: 7824F1AB-C514-4609-A447-F15EA9C86C84
Time Awake Since Boot: 99000 seconds
Time Since Wake: 1800 seconds
System Integrity Protection: enabled
Crashed Thread: 18 Dispatch queue: XCUIRecorder_iOS.processingQueue
Exception Type: EXC_CRASH (SIGABRT)
Exception Codes: 0x0000000000000000, 0x0000000000000000
Exception Note: EXC_CORPSE_NOTIFY
Application Specific Information:
ProductBuildVersion: 9E145
UNCAUGHT EXCEPTION (NSInternalInconsistencyException): First snapshot has type Other: Other, 0x7f9d8c64aaf0, {{0.0, 0.0}, {0.0, 0.0}}
UserInfo: (null)
Hints:
Backtrace:
0 __exceptionPreprocess (in CoreFoundation)
1 DVTFailureHintExceptionPreprocessor (in DVTFoundation)
2 objc_exception_throw (in libobjc.A.dylib)
3 +[NSException raise:format:arguments:] (in CoreFoundation)
4 -[NSAssertionHandler handleFailureInMethod:object:file:lineNumber:description:] (in Foundation)
5 +[XCUIRecorderNodeFinder nodeToFindElementForSnapshots:language:platform:] (in XCTest)
6 -[XCUIRecorderUtilities nodeToFindElementForSnapshots:] (in XCTest)
7 __177-[XCUIRecorder_iOS _XCT_recordedEventNames:timestamp:duration:startLocation:startElementSnapshot:startApplicationSnapshot:endLocation:endElementSnapshot:endApplicationSnapshot:]_block_invoke (in XCTest)
8 _dispatch_call_block_and_release (in libdispatch.dylib)
9 _dispatch_client_callout (in libdispatch.dylib)
10 _dispatch_queue_serial_drain (in libdispatch.dylib)
11 _dispatch_queue_invoke (in libdispatch.dylib)
12 _dispatch_root_queue_drain_deferred_wlh (in libdispatch.dylib)
13 _dispatch_workloop_worker_thread (in libdispatch.dylib)
14 _pthread_wqthread (in libsystem_pthread.dylib)
15 start_wqthread (in libsystem_pthread.dylib)
ëØ$ïˇˇ
abort() called
Application Specific Signatures:
NSInternalInconsistencyException
This seems like an Xcode bug to me. You can report it on the Apple Bug Reporter.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With