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

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容