組內(nèi)的iOS自動化測試工具,使用了Facebook的 WebDriverAgent,并且做了些許修改兼吓。最近升級到Xcode 10之后,運(yùn)行之后報(bào)錯森枪。
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)
這個(gè)issue已經(jīng)討論了這個(gè)問題视搏,并且作者已經(jīng)修復(fù)這個(gè)問題。
產(chǎn)生這個(gè)問題的原因是蘋果將XCElementSnapshot
從XCTest.framework
移動到了私有的XCTAutomationSupport.framework
县袱。于是作者在工程里顯示地鏈接這兩個(gè)庫浑娜,現(xiàn)在的問題是私有的XCTAutomationSupport.framework
是沒辦法在Xcode中直接進(jìn)行添加的。
Link Binary.png
查看作者的提交記錄式散,發(fā)現(xiàn)作者是只是修改了project.pbxproj
筋遭,于是將原始project.pbxproj
覆蓋到我們WDA工程的project.pbxproj
,去掉其他的diff暴拄,只保留這次提交的diff漓滔。
提交diff.png