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
现在验证在不使仪器崩溃的情况下启动应用程序。
当 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
现在验证在不使仪器崩溃的情况下启动应用程序。