当先锋百科网

首页 1 2 3 4 5 6 7

文章目录

编译报错

Mac 机子,数据线连接 iPhone13,通过 Appium 里的 appium-webdriveragent/WebDriverAgent.xcodeproj 工程,来编译可以在 iPhone13 手机中运行的 WebDriverAgent,目的是 Automation 。

遇到一个报错,可能是环境哪里有升级或者变化导致的,以前是可以正常编译的。

Cannot link directly with dylib/framework, your binary is not an allowed client of /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/Library/PrivateFrameworks/XCTAutomationSupport.framework/XCTAutomationSupport for architecture x86_64

环境:

Mac 12.5.1

Xcode 14.2

Appium 1.21.0-1

真机 iPhone13 ,版本 15.7

解决过程:

  1. 编译 WDA 时出现报错,Xcode14.2 的几个私有的动态库限制了link的对象,导致编译一直不过。

  2. 将 Xcode 换成 13.4.1 版本。

  3. 切换后,依然报错,尝试升级 Appium 的版本,为的是使用它里面的 appium-webdriveragent 目录下的 WebDriverAgent.xcodeproj

  4. 升级当前最新的版本,下载包:Appium-Server-GUI-mac-1.22.3-4.dmg ,安装。

  5. 打开编译 WDA 的 Xcode 工程文件:/Applications/Appium Server GUI.app/Contents/Resources/app/node_modules/appium/node_modules/appium-webdriveragent/WebDriverAgent.xcodeproj,重新配置 Xcode。

  6. 配置 WebDriverAgentLib、WebDriverAgentRunner。IntegrationApp 也是相同的配置(好像可以不用配置 )。在这里插入图片描述
    在这里插入图片描述

  7. 虽然真机的版本是 15.7,但是这边我配置的 iOS Deployment Target 是 14.3,也是没有影响到结果:
    在这里插入图片描述


Trust App

Xcode 编译成功后,如果配置的是真机,那么会在真机中生成 WDA 这个 app,但是需要操作信任它。

由于我这边使用数据线,将Mac机子连接iPhone13真机,Mac机子开了VPN,导致在 trust 过程一直失败,提示 A network connection is required to verfiy "Apple Development: [email protected](...)" apps on this iPhone. Connect to the internet and try again.,重启手机没解决。

最后,将 VPN 断开后,网络正常,就没问题了。(这里我是没想到,iPhone13连上了wifi后,竟然也会受到连着的Mac机子的网络环境影响,没理解。)