Appium 错误:无法获取 Xcode 版本
Posted
技术标签:
【中文标题】Appium 错误:无法获取 Xcode 版本【英文标题】:Appium Error: Could not get Xcode version 【发布时间】:2015-12-19 21:19:09 【问题描述】:尝试在 Eclipse 上启动测试时出现 Appium 错误。 我已经安装了 Xcode 6.4,它应该可以工作,但它没有。
error: Could not determine Xcode version:Could not get Xcode version. /Library/Developer/Info.plist does not exist on disk.
info: [debug] Setting ios SDK Version
info: [debug] Cleaning up appium session
info: [debug] Error: Could not get Xcode version. /Library/Developer/Info.plist does not exist on disk.
at getVersionWithoutRetry$ (lib/xcode.js:115:11)
at tryCatch (/Applications/Appium.app/Contents/Resources/node_modules/appium/node_modules/appium-xcode/node_modules/babel-runtime/regenerator/runtime.js:67:40)
at GeneratorFunctionPrototype.invoke [as _invoke] (/Applications/Appium.app/Contents/Resources/node_modules/appium/node_modules/appium-xcode/node_modules/babel-runtime/regenerator/runtime.js:294:22)
at GeneratorFunctionPrototype.prototype.(anonymous function) [as next] (/Applications/Appium.app/Contents/Resources/node_modules/appium/node_modules/appium-xcode/node_modules/babel-runtime/regenerator/runtime.js:100:21)
at GeneratorFunctionPrototype.invoke (/Applications/Appium.app/Contents/Resources/node_modules/appium/node_modules/appium-xcode/node_modules/babel-runtime/regenerator/runtime.js:136:37)
at bound (domain.js:254:14)
at GeneratorFunctionPrototype.runBound (domain.js:267:12)
at run (/Applications/Appium.app/Contents/Resources/node_modules/appium/node_modules/appium-xcode/node_modules/babel-runtime/node_modules/core-js/library/modules/es6.promise.js:89:39)
at /Applications/Appium.app/Contents/Resources/node_modules/appium/node_modules/appium-xcode/node_modules/babel-runtime/node_modules/core-js/library/modules/es6.promise.js:100:28
at process._tickDomainCallback (node.js:381:11)
info: [debug] Responding to client with error: "status":33,"value":"message":"A new session could not be created. (Original error: Could not get Xcode version. /Library/Developer/Info.plist does not exist on disk.)","origValue":"Could not get Xcode version. /Library/Developer/Info.plist does not exist on disk.","sessionId":null
info: <-- POST /wd/hub/session 500 470.776 ms - 286
error: Could not determine iOS SDK version
error: Failed to start an Appium session, err was: Error: Could not get Xcode version. /Library/Developer/Info.plist does not exist on disk.
Eclipse 代码
import java.io.File;
import java.net.MalformedURLException;
import java.net.URL;
import org.openqa.selenium.remote.DesiredCapabilities;
import io.appium.java_client.ios.IOSDriver;
import io.appium.java_client.remote.MobileCapabilityType;
public class Uicatalog
public static void main(String[] args) throws MalformedURLException
DesiredCapabilities cap=new DesiredCapabilities();
File f=new File("/Users/afiliptsov/Application to study/ui-catalog-app.zip");
cap.setCapability(MobileCapabilityType.PLATFORM_VERSION, "8.4");
cap.setCapability(MobileCapabilityType.DEVICE_NAME, "iPhone 5s");
cap.setCapability(MobileCapabilityType.BROWSER_NAME, "");
cap.setCapability(MobileCapabilityType.APP, f.getAbsolutePath());
IOSDriver driver = new IOSDriver(new URL("http://127.0.0.1:4723/wd/hub"),cap);
【问题讨论】:
【参考方案1】:我使用的是命令行 Appium。要解决此问题,您必须将 Xcode 切换到正确的路径。
以下命令会有所帮助:
sudo xcode-select --switch /Applications/Xcode.app
如果您已将 Xcode 应用安装在其他位置,请提供该路径而不是 /Applications/Xcode.app。
【讨论】:
如果上面的命令不起作用。尝试重新启动 Appium 并再次运行。 谢谢! @LongNguyen【参考方案2】:有同样的问题,问题是 XCode 在 Appium 中的路径设置为“xcode/library/developer/commandlinetools”之类的东西。 在高级 iOS 设置中设置正确的 Xcode 路径(在我的例子中:“MacintoshHD/Applications/Xcode 2”)为我解决了这个问题。(Xcode 7,Appium 1.4.13)
【讨论】:
设置在 Appium GUI 中 顺便说一句,您从哪里获得 Appium 1.4.13?当前版本是 1.2.6 github.com/appium/appium-desktop/releases/tag/v1.2.6. @strizhechenko 1.2.6 是 Appium Desktop 的版本,它有自己的版本编号。对于 1.4.3,我指的是使用的 Appium 独立版本,现在是 1.7.1,请参阅:github.com/appium/appium/releases【参考方案3】:首先我使用 sudo xcode-select --reset
然后使用 sudo xcode-select --switch /Applications/Xcode.app
注意:只要确保你设置了正确的 Xcode 路径(Application->Xcode)
【讨论】:
【参考方案4】:在打开 appium 桌面之前运行 sudo xcode-select -r
【讨论】:
【参考方案5】:可能你使用的是Xcode 10版本,由于appium服务器问题不支持appium,你可以回Xcode ver 9.
或者使用appium beta
:
npm uninstall -g appium && npm install -g appium@beta
【讨论】:
【参考方案6】:解决此问题的最佳方法是将 Xcode 应用程序移动到 mac 机器上的 Applications 文件夹中。
【讨论】:
【参考方案7】:Xcode 11
检查是否安装或启用了相应 Xcode 版本的命令行工具
【讨论】:
【参考方案8】:两个原因
-
当您有两个 XCODE 版本时。
当您的 XCODE 路径不正确时。
您可以通过以下步骤解决的第一个问题
如果您的 XCODE 正在运行,请关闭它并同时关闭 Appium 将不需要的版本移到 bin。 重置 XCODE 路径:sudo xcode-select --reset 设置正确的路径:sudo xcode-select --switch /Applications/Xcode.app 启动 XCODE 和 Appium。第二个问题,你可以通过关闭 XCODE 并运行上述两个命令来解决
重置 XCODE 路径:sudo xcode-select --reset 设置正确的路径:sudo xcode-select --switch /Applications/Xcode.app如果问题还没有解决,请检查 Appium 版本并安装兼容版本。
【讨论】:
以上是关于Appium 错误:无法获取 Xcode 版本的主要内容,如果未能解决你的问题,请参考以下文章
Xcode 的 Appium 服务器和 WebDriver 问题
如何修复来自 Appium 的错误“无法从 sw_vers 输出检测 Mac OS X 版本:'10.12'”
自 xCode 13 和 iOS 15 以来,Appium(和桌面)无法启动 wda 会话
Appium ADB 错误:当设备通过端口 5555 上的 tcpip 连接时,获取设备平台版本时出错
Appium 错误 Xcode 找不到匹配“com.facebook.WebDriverAgentRunner”的配置文件