错误构建:无法直接与架构 arm64 的 dylib/框架 XCTAutomationSupport 链接

我正在使用 Xcode Beta 14,尝试构建 WebDriverAgent

低于错误

WebDriverAgent/Build/Products/Debug-iphoneos/WebDriverAgentLib.framework/WebDriverAgentLib

ld:无法直接与 dylib/framework 链接,您的二进制文件不是 /Applications/Xcode-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/PrivateFrameworks/XCTAutomationSupport.framework/XCTAutomationSupport 的允许客户端架构 arm64 clang:错误:链接器命令失败,退出代码为 1(使用 -v 查看调用)

注意:使用协同签名身份覆盖:iPhone 开发人员注意:按依赖顺序构建目标 测试构建失败

Beta 的任何问题或设置它所需的任何其他首选项。

enter image description here

stack overflow error build: Cannot link directly with dylib/framework XCTAutomationSupport for architecture arm64
原文答案

答案:

作者头像

从 Xcode 14 开始,XCTAutomationSupport 和其他私有框架都有一个可以与它们链接的库的许可列表。该列表是用 LC_SUB_CLIENT 加载命令指定的。您可以使用 otool -l XCTAutomationSupport | grep -A 2 LC_SUB_CLIENT 查看允许链接的用户。

我发现绕过此限制的一种方法是:

  1. 创建一个具有允许名称的假库
  2. 链接假库时,指定它应该重新导出 XCTAutomationSupport: -reexport_framework XCTAutomationSupport
  3. 将需要 XCTAutomationSupport 的图像与您的假库链接,而不是将其与 XCTAutomationSupport 链接

这是 an example 展示了如何在 Xcode 中进行设置。

作者头像

@Solid Soft您应该提供完整路径,例如:/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/PrivateFrameworks/XCTAutomationSupport.framework/XCTAutomationSupport

作者头像

由于 Xcode 更新到 14.0,因此遇到了同样的问题

因此,如果您不需要使用 14.0 版本,只需将您的 Xcode 降级到 13.4(或类似)版本,它应该可以工作。

你可以从苹果开发者页面下载

希望这可以帮助!

作者头像

VincentYao here 的回答对我有用

我们需要将 WebDriverAgent 更新为 v4.9.0

作者头像

这是使用最新的 WebDriverAgent 4.10.2 (npm install -g appium@latest) 修复的。但是,如果您通过节点安装 appium,则 appium 版本仅为 1.22.3,并且不包含最新的 WDA。我建议从网站 ( https://github.com/appium/WebDriverAgent/releases ) 下载 WDA 并将其安装到您的设备上,然后使用功能“usePrebuiltWDA”= true 来绕过它。

作者头像

我遇到了同样的问题并通过将 Xcode 从 14.1 降级到 13.4.1 解决了

不幸的是,Appium2 (2.0.0-beta.46) 无法在我的框架 (Katalon Studio) 上运行,所以我仍在使用 appium 1.22.3

相关问题