1. 程式人生 > >RobotFramework+Appium 為了兼容iOS12,升級至Xcode10後,WebDriverAgent編譯不通過:Undefind symbols for architecture x86_64

RobotFramework+Appium 為了兼容iOS12,升級至Xcode10後,WebDriverAgent編譯不通過:Undefind symbols for architecture x86_64

ios1 部分 found lang frame 原因 報錯信息 app .com

報錯信息如下:

Undefined symbols for architecture arm64:
"_OBJC_CLASS_$_XCElementSnapshot", referenced from:
l_OBJC_$_CATEGORY_XCElementSnapshot_$_FBIsVisible in XCUIElement+FBIsVisible.o
l_OBJC_$_CATEGORY_XCElementSnapshot_$_FBUID in XCUIElement+FBUID.o
l_OBJC_$_CATEGORY_XCElementSnapshot_$_WebDriverAttributes in XCUIElement+FBWebDriverAttributes.o
objc-class-ref in XCUIElement+FBWebDriverAttributes.o
objc-class-ref in XCUIElement+FBUtilities.o
l_OBJC_$_CATEGORY_XCElementSnapshot_$_FBAccessibility in XCUIElement+FBAccessibility.o
l_OBJC_$_CATEGORY_XCElementSnapshot_$_FBScrolling in XCUIElement+FBScrolling.o
...
ld: symbol(s) not found for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

原因分析:蘋果將XCElementSnapshot從XCTest.framework移動到了私有的XCTAutomationSupport.framework

造成文件無法import

結果辦法:

在文件WebDriverAgent.xcodeproj/project.pbxproj中增加部分代碼,增加途中綠色部分,具體增加的代碼查看webDriverAgent作者在git中的提交

https://github.com/facebook/WebDriverAgent/commit/c4da863b9c8d6d076ba74bf1ff58b47ef56dd2fa#diff-7610c17549f7cb63943c12afdfd7ba64R613

技術分享圖片

RobotFramework+Appium 為了兼容iOS12,升級至Xcode10後,WebDriverAgent編譯不通過:Undefind symbols for architecture x86_64