【问题标题】:Unable to run XCTests on iOS device无法在 iOS 设备上运行 XCTests
【发布时间】:2015-10-01 14:16:32
【问题描述】:

我最近注意到我无法在我的 iOS 设备上运行测试。我在 iPhone 5 和 iPhone 6 上都试过了。两者都失败了,错误如下:

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

任何想法为什么会发生这种情况?

【问题讨论】:

    标签: ios iphone xcode xctest


    【解决方案1】:

    所以...尽管我认为相反,这是一个代码签名问题。在 Xcode 中手动设置 test 目标(而不是产品目标)上的配置文件让我的测试启动并通过设备运行。

    与 iOS 模拟器相比,测试以一种新的和意想不到的(与信号量相关的)方式失败,但这是一个完全不同的讨论。

    希望这对某人有所帮助。

    【讨论】:

      猜你喜欢
      • 2015-01-14
      • 1970-01-01
      • 1970-01-01
      • 2015-02-24
      • 2018-07-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-11-08
      相关资源
      最近更新 更多