dyld:未加载EarlGrey安装库

时间:2016-02-24 02:38:34

标签: ios testing functional-testing earlgrey

我按照Github Installation部分中的说明在我的应用中集成EarlGrey。我已经设置了测试目标,并将EarlGrey拖入我的项目中,并将其添加为框架依赖项。但是,在运行我的测试时,我收到以下错误:

import {bootstrap} from 'angular2/platform/browser' import {AppComponent} from './app.component' import {HTTP_PROVIDERS} from 'angular2/http'; import {ROUTER_PROVIDERS, LocationStrategy, HashLocationStrategy} from 'angular2/router'; import {provide} from 'angular2/core'; bootstrap(AppComponent, [ HTTP_PROVIDERS, ROUTER_PROVIDERS, provide(LocationStrategy, {useClass: HashLocationStrategy}) ]);

我的项目中是否需要解决此问题需要做些什么?

1 个答案:

答案 0 :(得分:1)

您提到的错误:

dyld: Library not loaded Reason: image not found

表示动态加载程序无法找到要加载的EarlGrey动态框架。可能会出现多种原因:

Add EarlGrey as dependency

所述

您必须在计划中添加以下内容:

Key: `DYLD_INSERT_LIBRARIES`
Value:`@executable_path/EarlGrey.framework/EarlGrey`

请注意,Value必须是@executable_path,以便动态加载程序可以在设备上运行时找到该库,如果路径引用dev机器上的位置(即运行Xcode)测试将在模拟器上运行,但不在设备上运行会发生同样的错误。上面的步骤设置路径,接下来要做的重点是告诉Xcode 复制 EarlGrey动态库到该路径。使用构建阶段的“复制文件”来执行此操作:

  1. 添加EarlGrey.framework。
  2. 选择目的地为Absolute Path
  3. 将路径设置为$(TEST_HOST)/..
  4. 取消选中“仅在安装时复制文件”
  5. 检查(✓)“代码登录复制”
  6. 请注意,这些说明位于上述链接中的“Final Test Configuration”下。