2015-12-20 2 views
4

При попытке использовать новую функцию тестирования интерфейса Xcode 7 на физическом устройстве iOS, нажав кнопку записи, содержащую каретку внутри метода тестирования, Xcode создает проект, но непосредственно перед запуском приложение на устройстве, IDE аварийно завершает работу. Я тестировал это с помощью разных проектов (даже недавно созданного шаблона без написания одной строки кода) и разных устройств (iPhone 6s Plus, iPad Pro, iPad mini 2 и iPhone 5, все работает под управлением iOS 9.2). Кто-нибудь имеет ту же проблему и уже нашел решение? Вот полный аварийный журнал:Xcode UI Testing приводит к сбою на каждом устройстве iOS

Process: Xcode [48959] 
Path: /Applications/Xcode.app/Contents/MacOS/Xcode 
Identifier: com.apple.dt.Xcode 
Version: 7.2 (9548) 
Build Info: IDEFrameworks-9548000000000000~7 
App Item ID: 497799835 
App External ID: 814662604 
Code Type: X86-64 (Native) 
Parent Process: ??? [1] 
Responsible: Xcode [48959] 
User ID: 501 
Date/Time: 2015-12-16 20:52:24.497 +0100 
OS Version: Mac OS X 10.11.2 (15C50) 
Report Version: 11 
Anonymous UUID: DF96274B-998D-3102-7E2F-CECD011B3D38 
Sleep/Wake UUID: 613A68D1-4541-4DB7-B1C5-BC255278457F 
Time Awake Since Boot: 25000 seconds 
Time Since Wake: 19000 seconds 
System Integrity Protection: disabled 
Crashed Thread: 0 Dispatch queue: com.apple.main-thread 
Exception Type: EXC_CRASH (SIGABRT) 
Exception Codes: 0x0000000000000000, 0x0000000000000000 
Exception Note: EXC_CORPSE_NOTIFY 
Application Specific Information: 
ProductBuildVersion: 7C68 
ASSERTION FAILURE in /Library/Caches/com.apple.xbs/Sources/IDEFrameworks/IDEFrameworks-9548/IDEKit/Testing/IDEUIRecordingManager.m:429 
Details: (result) should not be nil. 
Object: <IDEUIRecordingManager: 0x7fa128e011a0> 
Method: -_workspaceTabController 
Thread: <NSThread: 0x7fa119504010>{number = 1, name = main} 
Hints: None 
Backtrace: 
0 0x0000000102f861fa -[IDEAssertionHandler handleFailureInMethod:object:fileName:lineNumber:assertionSignature:messageFormat:arguments:] (in IDEKit) 
1 0x0000000101b12761 _DVTAssertionHandler (in DVTFoundation) 
2 0x0000000101b12978 _DVTAssertionFailureHandler (in DVTFoundation) 
3 0x000000010306456b -[IDEUIRecordingManager _workspaceTabController] (in IDEKit) 
4 0x0000000103065433 __94-[IDEUIRecordingManager _startRecordingWithLaunchSession:alwaysAskForAPIAccess:reservedNames:]_block_invoke_2 (in IDEKit) 
5 0x0000000101b4ea04 __DVTDispatchAsync_block_invoke (in DVTFoundation) 
6 0x00007fff9545c871 _dispatch_call_block_and_release (in libdispatch.dylib) 
7 0x00007fff9545133f _dispatch_client_callout (in libdispatch.dylib) 
8 0x00007fff95464c1d _dispatch_main_queue_callback_4CF (in libdispatch.dylib) 
9 0x00007fff8b1d0cd9 __CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE__ (in CoreFoundation) 
10 0x00007fff8b18bd3d __CFRunLoopRun (in CoreFoundation) 
11 0x00007fff8b18b338 CFRunLoopRunSpecific (in CoreFoundation) 
12 0x00007fff846ce935 RunCurrentEventLoopInMode (in HIToolbox) 
13 0x00007fff846ce76f ReceiveNextEventCommon (in HIToolbox) 
14 0x00007fff846ce5af _BlockUntilNextEventMatchingListInModeWithFilter (in HIToolbox) 
15 0x00007fff899610ee _DPSNextEvent (in AppKit) 
16 0x00007fff89d2d943 -[NSApplication _nextEventMatchingEventMask:untilDate:inMode:dequeue:] (in AppKit) 
17 0x00000001020ef0c2 -[DVTApplication nextEventMatchingMask:untilDate:inMode:dequeue:] (in DVTKit) 
18 0x00007fff89956fc8 -[NSApplication run] (in AppKit) 
19 0x00007fff898d9520 NSApplicationMain (in AppKit) 
20 0x00007fff8589a5ad start (in libdyld.dylib) 
abort() called 
HandleCommand(command = "process plugin packet send 'QSetEnableAsyncProfiling;enable:0;'") 
+0

такой же здесь. Вы нашли решение? Я удалил полученные данные, как он предложил в ответ ниже, однако не работал для меня. – cateof

+0

Я не знаю, что я сделал точно, но некоторая комбинация очистки проекта, удаления производных данных и чего-то еще сделала успех. – Ch1llb4y

+0

Возможно перезагрузка телефона. – cateof

ответ

2

Я столкнулся с той же проблемой. Я даже попытался очистить кеш (rm -r ~/Library/Developer/Xcode/DerivedData), без успеха.

я нашел путь вокруг него:

  1. Start работает приложение в устройстве по вашему выбору (Command-R)
  2. После того, как приложение готово и работает в устройстве, нажмите на красный «Записать UI Test» на панели инструментов «Отладка».

Надеюсь, это сработает для вас.

EDIT. Чтобы сделать вещи более странными, это работает для iPhone 6, физически подключенного к моему компьютеру, и для iPhone 5s, запущенного в Simulator. Попытки записи тестов пользовательского интерфейса на iPhone 6 Plus не увенчались успехом.

+0

Как-то вчера я смог успешно запустить и записать тесты на мой iPhone 6s Plus - просто случайно забыв изменить цель развертывания для симулятора: DI не знаю, что я изменил, возможно, это действительно очистило DerivedData, потому что я сделал это пару дней назад. – Ch1llb4y

Смежные вопросы