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 版本的主要内容,如果未能解决你的问题,请参考以下文章

Appium 源码安装环境配置 iOS篇

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”的配置文件