问题描述:
这个月才抽出时间来搞 iOS10 的自动化,因为公司的测试环境不能联网验证 wda 的 app,如果用普通 apple id 打包就无法运行 wda 的 app,一咬牙买了个 apple 开发者账号。
使用开发者证书的签名之后,执行 appium 一直报下面的错误:
dyld: Library not loaded: @rpath/XCTest.framework/XCTest
Referenced from: /var/containers/Bundle/Application/A142DB9C-1134-4A9E-8DD6-2AB08B9845C9/WebDriverAgentRunner-Runner.app/XCTRunner
Reason: no suitable image found. Did find:
/private/var/containers/Bundle/Application/A142DB9C-1134-4A9E-8DD6-2AB08B9845C9/WebDriverAgentRunner-Runner.app/Frameworks/XCTest.framework/XCTest: code signing blocked mmap() of '/private/var/containers/Bundle/Application/A142DB9C-1134-4A9E-8DD6-2AB08B9845C9/WebDriverAgentRunner-Runner.app/Frameworks/XCTest.framework/XCTest'
/private/var/containers/Bundle/Application/A142DB9C-1134-4A9E-8DD6-2AB08B9845C9/WebDriverAgentRunner-Runner.app/Frameworks/XCTest.framework/XCTest: code signing blocked mmap() of '/private/var/containers/Bundle/Application/A142DB9C-1134-4A9E-8DD6-2AB08B9845C9/WebDriverAgentRunner-Runner.app/Frameworks/XCTest.framework/XCTest'
已经尝试下面的方法均无法解决:
1,build Phases 设置中添加 XCTest.framework,设置为 optional;
2,对/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/Frameworks 下的 XCTest.framework 使用开发者签名进行重签名;
3,使用在线安装 appium1.6.5、或者下载 appium-destop-beta3 版本都是这个问题;
4,勾选 Automatically Manage Singing 或者使用手工导入 provisioning 都存在这个问题;
5,请 iOS 开发人员看了很久也没解决;
多谢论坛的热心大神,问题已解决。下面说一下主要的解决办法:
1,删掉手机上原来的 keychain,证书等等重新设置开发者证书。(这个不一定有影响,保险起见还是做了)
2,按照下面地址的说明操作来操作,内容中的 “Basic (manual) configuration”
https://github.com/imurchie/appium-xcuitest-driver/blob/isaac-rs/docs/real-device-config.md#basic-manual-configuration