Facebook 的WebDriverAgent支持Xcode 10

组内的iOS自动化测试工具,使用了Facebook的 WebDriverAgent,并且做了些许修改。最近升级到Xcode 10之后,运行之后报错。

Undefined symbols for architecture x86_64:
"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
l_OBJC$CATEGORY_XCElementSnapshot$FBAccessibility in XCUIElement+FBAccessibility.o
l_OBJC$CATEGORY_XCElementSnapshot$FBScrolling in XCUIElement+FBScrolling.o
l_OBJC$CATEGORY_XCElementSnapshot$_FBHitPoint in XCElementSnapshot+FBHitPoint.o
...
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

这个issue已经讨论了这个问题,并且作者已经修复这个问题。

产生这个问题的原因是苹果将XCElementSnapshotXCTest.framework移动到了私有的XCTAutomationSupport.framework。于是作者在工程里显示地链接这两个库,现在的问题是私有的XCTAutomationSupport.framework是没办法在Xcode中直接进行添加的。

Link Binary.png

查看作者的提交记录,发现作者是只是修改了project.pbxproj,于是将原始project.pbxproj覆盖到我们WDA工程的project.pbxproj,去掉其他的diff,只保留这次提交的diff。

提交diff.png

你可能感兴趣的:(Facebook 的WebDriverAgent支持Xcode 10)