Appium [iOS] 仪器在启动时崩溃

Appium [iOS] Instruments crashed on startup

当 Appium 尝试 运行 应用程序时,屏幕闪烁并显示应用程序启动画面,就好像 Appium 多次尝试启动应用程序一样。这种行为在模拟器和真实设备上都会发生。

我在我的 iOS 设备上设置了启用 UI 自动化,但是当我尝试启动检查器时我遇到了这个问题:

info: [debug] [INST STDERR] 2015-11-05 15:11:05.082 instruments[1495:39489] WebKit Threading Violation - initial use of WebKit from a secondary thread.
info: [debug] [INST STDERR] 2015-11-05 15:11:06.049 instruments[1495:39460] Attempting to change event horizon while disengage

error: Failed to start an Appium session, err was: Error: Instruments crashed on startup

info: [debug] [INST STDERR] 2015-11-05 15:11:06.049 instruments[1495:39462] Attempting to change event horizon while disengage
Instruments Trace Error : Target failed to run: Permission to debug com.myapp.iphone was denied. The app must be signed with a development identity (e.g. iOS Developer).
info: [IOS_SYSLOG_ROW ] Nov  5 15:11:04 tests-iPod com.apple.xpc.launchd[1] (UIKitApplication:com.myapp.iphone[0xe163][607]) <Notice>: Service exited due to signal: Killed: 9
info: [debug] [INSTSERVER] Instruments exited with code 253
info: [debug] Killall instruments
info: [debug] Instruments crashed on startup
info: [debug] We exceeded the number of retries allowed for instruments to successfully start; failing launch
info: [debug] Stopping iOS log capture
info: [debug] Reset not set, not ending sim or cleaning up app state
info: [debug] Cleaning up appium session
info: [debug] Error: Instruments crashed on startup
    at [object Object].Instruments.onInstrumentsExit (/Applications/Appium.app/Contents/Resources/node_modules/appium/submodules/appium-instruments/lib/instruments.js:440:31)
    at [object Object].<anonymous> (/Applications/Appium.app/Contents/Resources/node_modules/appium/submodules/appium-instruments/lib/instruments.js:353:12)
    at ChildProcess.emit (events.js:110:17)
    at Process.ChildProcess._handle.onexit (child_process.js:1074:12)
info: [debug] Responding to client with error: {"status":33,"value":{"message":"A new session could not be created. (Original error: Instruments crashed on startup)","origValue":"Instruments crashed on startup"},"sessionId":null
info: <-- POST /wd/hub/session 500 33841.937 ms - 182}

申请形式为.ipa

Target failed to run: Permission to debug com.myapp.iphone was denied. 
The app must be signed with a development identity (e.g. iOS Developer).

您的应用程序应该使用开发人员密钥进行签名。 Click here for documentation

BlockquoteTarget failed to run: Permission to debug com.myapp.iphone was denied. The app must be signed with a development identity (e.g. iOS Developer). Blockquote

您应该在创建 .ipa 时提供您的开发者身份...

如果您通过终端创建 ipa 文件,您可以按照给定的 link [博客]: Xcode "Build and Archive" from command line

我也遇到过这个问题,发现你需要在你的 iDevice

的开发者选项中启用 UI 自动化

如何启用UI自动化 1.关闭iDevice, 2. 然后连接到 Mac 运行 Xcode 3. 在将其重新打开以显示开发人员选项之前。 4. 点击开发者选项并启用 UI 自动化

如果您使用的是 iOS 模拟器,请执行以下操作...

Appium 中,转到 Developer Settings,检查 Custome Server Flags 并写入 --native-instruments-lib 在文本框中.

现在启动 Appium 服务器。

希望对您有所帮助!

就我而言,以下命令让我的生活变得一团糟:

rm -rf $HOME/Library/Developer/Xcode/iOS\ DeviceSupport/*

所以不要将它添加到构建步骤中。

解决问题: 重启设备 > 运行 Xcode > 连接设备 > 构建 & 运行 应用程序 > 停止并退出 Xcode

现在验证在不使仪器崩溃的情况下启动应用程序。