其他测试框架 使用 xcode7 真机调试踩的一些坑

胡小婷 · 2016年07月10日 · 最后由 JarryLee 回复于 2017年05月27日 · 2345 次阅读
本帖已被设为精华帖!

在 Xcode 7 中,苹果改变了自己在许可权限上的策略,此前 Xcode 只开放给注册开发者下载,但 Xcode7 改变了这种惯有的做法,无需注册开发者账号,仅使用普通的 Apple ID 就能下载和上手体验。此前开发者需每年支付 99 美元的费用成为注册开发者才能在 iPhone 和 iPad 真机上运行代码,苹果新的开发者计划则放宽要求,无需购买,只要你感兴趣同样可以在设备上测试 app。

环境情况

  • Xcode 版本 7.3.1;OS X10.11.4;真机 iphone6S/9.3/未越狱

相关文档

实际操作中的一些坑

1. Xcode 版本 7.3.1 界面与文档中提及的有些出入:

1)例如在 Account 添加 Apple ID 界面,只有一个 role 类型,显示为 free;开发者帐号的 role 类型显示为 agent:

2)点击进入详情后,点击 creat 按钮时下面列表中即没有生成证书文件,也没有给出任何错误提示。甚至[creat]按钮都消失不可点击了!!当时没管这里,继续下面的步骤。后来在下面的步骤--在项目 target 的 General 页的 Team 中选中刚才 Apple ID 对应的项,并经过验证后,再进来查看,列表中有文件了。

2、在 IntegrationApp-Identity-Team 栏选择 personal team(个人的 Apple ID 账号
) 运行 WebDriverAgentRunner 程序时,会提示 test failed。

错误日志如下

2016-07-10 18:12:32.117 XCTRunner[5797:979556] Running tests...
2016-07-10 18:12:32.248 XCTRunner[5797:979556] The bundle WebDriverAgentRunner couldnt be loaded because it is damaged or missing necessary resources. Try reinstalling the bundle.
2016-07-10 18:12:32.248 XCTRunner[5797:979556] (dlopen_preflight(/var/containers/Bundle/Application/44174EEE-318B-4E82-8782-597C2CC4330D/WebDriverAgentRunner-Runner.app/PlugIns/WebDriverAgentRunner.xctest/WebDriverAgentRunner): Library not loaded: @rpath/KissXML.framework/KissXML
  Referenced from: /private/var/containers/Bundle/Application/44174EEE-318B-4E82-8782-597C2CC4330D/WebDriverAgentRunner-Runner.app/PlugIns/WebDriverAgentRunner.xctest/Frameworks/WebDriverAgentLib.framework/WebDriverAgentLib
  Reason: no suitable image found.  Did find:
/private/var/containers/Bundle/Application/44174EEE-318B-4E82-8782-597C2CC4330D/WebDriverAgentRunner-Runner.app/PlugIns/WebDriverAgentRunner.xctest/Frameworks/WebDriverAgentLib.framework/Frameworks/KissXML.framework/KissXML: mmap() errno=1 validating first page of '/private/var/containers/Bundle/Application/44174EEE-318B-4E82-8782-597C2CC4330D/WebDriverAgentRunner-Runner.app/PlugIns/WebDriverAgentRunner.xctest/Frameworks/WebDriverAgentLib.framework/Frameworks/KissXML.framework/KissXML'

排查到问题是在 WebDriverAgentRunner 下运行时,缺少这 3 个 framework:WebDriverAgentLib.framework、KissXML.framework、RoutingHTTPSever.framework。加上后运行成功。

3.在 IntegrationApp-General-Team 栏选择 personal team(个人的 Apple ID 账号
) 运行 IntegrationApp 程序,提示警告

 An App ID with Identifier 'com.facebook.xctweb-driver-agent' is not available. Please enter a different string.

错误原因是这个 bundle ID 已经被别人提前占用了.这种错误一般发生在运行别人的项目时,处理办法是更换 bundle,删除或增加一些字母即可解决。

共收到 5 条回复 时间 点赞
恒温 内容不符合版规屏蔽此话题 07月10日 21:42

https://testerhome.com/markdown 排一下版,会更加好。

第一帖,写得不错。给予鼓励。所以加精

Monkey 将本帖设为了精华贴 07月11日 01:08

你好,我也出现了同样的错误,已经更改了 bundle Identifier,仍然报错,test failed

@tingting823 麻烦问一下,这几个文件在哪里?WebDriverAgentLib.framework、KissXML.framework、RoutingHTTPSever.framework,我在我的项目中没有找到

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册