2015-07-13 160 views
0

我最近注意到我無法在iOS設備上運行測試。我已經試過兩個的iPhone 5和iPhone 6都失敗,這樣的錯誤:無法在iOS設備上運行XCTests

2015-07-13 12:32:26.930 MyApp[1316:735999] Error loading /private/var/mobile/Containers/Data/Application/B23BED3F-5D59-4727-9AAB-1155A3F3A8F2/tmp/MyApp Tests.xctest/MyApp Tests: dlopen(/private/var/mobile/Containers/Data/Application/B23BED3F-5D59-4727-9AAB-1155A3F3A8F2/tmp/MyApp Tests.xctest/MyApp Tests, 262): no suitable image found. Did find: 
    /private/var/mobile/Containers/Data/Application/B23BED3F-5D59-4727-9AAB-1155A3F3A8F2/tmp/MyApp Tests.xctest/MyApp Tests: mmap() error 1 at address=0x0042C000, size=0x00099000 segment=__TEXT in Segment::map() mapping /private/var/mobile/Containers/Data/Application/B23BED3F-5D59-4727-9AAB-1155A3F3A8F2/tmp/MyApp Tests.xctest/MyApp Tests 
DevToolsBundleInjection: Error loading bundle '/private/var/mobile/Containers/Data/Application/B23BED3F-5D59-4727-9AAB-1155A3F3A8F2/tmp/MyApp Tests.xctest' 

其他所有的測試錯誤,我在這個格式,網上能找到的是代碼簽名錯誤。這似乎並非是這裏的情況...

與這樣的其他錯誤,測試等待一兩分鐘,然後失敗,這樣的轉儲:

* thread #1: tid = 0xb3aff, 0x33d0e474 libsystem_kernel.dylib`mach_msg_trap + 20, queue = 'com.apple.main-thread', stop reason = signal SIGSTOP 
    * frame #0: 0x33d0e474 libsystem_kernel.dylib`mach_msg_trap + 20 
    frame #1: 0x33d0e26c libsystem_kernel.dylib`mach_msg + 40 
    frame #2: 0x24fc7572 CoreFoundation`__CFRunLoopServiceMachPort + 146 
    frame #3: 0x24fc5b18 CoreFoundation`__CFRunLoopRun + 1016 
    frame #4: 0x24f12200 CoreFoundation`CFRunLoopRunSpecific + 476 
    frame #5: 0x24f12012 CoreFoundation`CFRunLoopRunInMode + 106 
    frame #6: 0x2c9e3200 GraphicsServices`GSEventRunModal + 136 
    frame #7: 0x286dea08 UIKit`UIApplicationMain + 1440 
    frame #8: 0x000ececc MyApp`main(argc=10, argv=0x003f0488) + 108 at main.m:16 

    thread #2: tid = 0xb3b16, 0x33d0e224 libsystem_kernel.dylib`kevent64 + 24, queue = 'com.apple.libdispatch-manager' 
    frame #0: 0x33d0e224 libsystem_kernel.dylib`kevent64 + 24 
    frame #1: 0x33c430f0 libdispatch.dylib`_dispatch_mgr_invoke + 280 
    frame #2: 0x33c37d3a libdispatch.dylib`_dispatch_mgr_thread + 38 


*** Canceling tests due to timeout in Waiting for test process to check in... If you believe this error represents a bug, please attach the log file at /var/folders/yz/xbdghvnj1_7fhsrwl5v232b40000gn/T/com.apple.dt.XCTest-status/Session-2015-07-13_12:31:55-JkrDBi.log 

任何想法,爲什麼這可能會發生?

回答

3

所以......儘管我相信相反,這是一個代碼簽名問題。在Xcode上手動設置測試目標(不是產品目標)的配置文件已通過設備啓動並運行。

與iOS模擬器相比,測試失敗的方式出乎意料(與信號量有關),但這是一個完全不同的討論。

希望這有助於某人。

相關問題