将虚拟对象添加到项目中

Jak*_*kub 8 xcode objective-c build-settings ios

我想在项目中添加虚拟对象以进行测试,但我不希望它们包含在我的最终构建中.所以我有我的AppDelegate班级和进口:

#ifdef TESTING
#import "DummyBeaconLocationManager.h"
#else
#import "BeaconLocationManager.h"
#endif
Run Code Online (Sandbox Code Playgroud)

然后:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
...
#ifdef TESTING
    [[DummyBeaconLocationManager sharedInstance] startRanging];
#else
    self.beaconLocationManager = [BeaconLocationManager sharedInstance];
    [self.beaconLocationManager startRanging];
#endif
    return YES;
}
Run Code Online (Sandbox Code Playgroud)

但问题是我必须将此包含在我的Target Membership,而不是我的测试目标中.有没有办法不在我的主目标中包含这些文件,但仅限于Test目标?

编辑:需要做的是在发布后测试我的应用程序.我想在模拟器上测试它,但是使用信标的app.所以我创建了代表信标的虚拟对象并模拟了位置管理器.当应用程序以TESTING选项启动时,它不会启动测距信标,而是将虚拟对象作为信标.

She*_*mus 7

按照这些步骤操作后,您将能够将具有测试功能的测试类添加到构建中.要使用测试功能运行您的应用程序,您应该选择下面配置的测试方案.

Xcode项目配置(使用Xcode 7.0.1)

要允许条件导入和功能有效进行测试,您需要以下成分:

  1. 测试配置
  2. 测试目标
  3. 测试方案

方案,目标和构建配置的简短说明

  • 方案指向目标和配置.
  • 可以使用不同的构建设置配置目标.
  • 可以添加配置,以分支出目标构建设置.

以下是步骤:

1.复制配置以进行测试

在Project Navigator中选择项目文件后,请按照下列步骤操作:

  1. 选择项目目标
  2. 选择信息
  3. 选择+以添加配置

复制项目配置

  1. 选择复制"调试"配置 重复的

  2. 重命名新配置,然后将其拖动到重新排序 重命名项目配置并拖动以重新排序

2.复制目标进行测试

现在您已拥有测试配置,请添加测试目标.在项目导航器中选择项目文件,请按照下列步骤操作:

  1. 右键单击或按住Option键单击现有目标,然后选择"复制". 复制现有目标

  2. 点击新目标以重命名,然后拖动它以重新排序目标. 重命名并拖动新目标

3.管理计划

现在您已拥有测试目标和配置,您可以添加指向新目标和配置的方案.

  1. 点击方案(停止按钮旁边),然后选择管理方案... 选择管理方案...

  2. 在Schemes manager弹出窗口中,如果您已选择自动创建方案,则新方案将已列出.否则,您可以在弹出窗口中点击+以添加方案.每个方案都可以共享,如下所示: 配置新方案

  3. 点击新方案重命名,然后拖动它重新排序: 重命名和重新排序方案

  4. 要编辑新方案,请确保选中该方案,然后点击编辑... 编辑方案

  5. 在编辑面板中,选择Testing build configuration 选择测试构建配置

  6. 通过点击"可执行文件"下拉列表,确保该方案指向"测试目标": 指向测试运行目标的目标

  7. 确保该方案指向正确的构建配置,以用于其他操作,例如自动化测试: 指向测试目标以进行测试操作

4.配置目标的构建设置

现在您已将测试方案设置为指向测试配置,它将与Debug配置完全相同,直到您修改构建设置.请按照以下步骤更改测试配置的构建设置:

  1. 对于大多数构建设置,每个配置都有一个选项.选择要在设置中使用的配置时,请确保选择了主目标: 选择主要目标

  2. 预处理器宏位于标题为"Apple LLVM 7.0 - 预处理"的部分下: 预处理器宏

  3. 点击一行,选择它,点击回车键编辑并提交更改,使用箭头键向上或向下移动.为所有配置定义所有预处理器宏是一个好习惯,如下所示: 定义预处理器宏

5.向测试目标添加一个类

现在,测试方案指向一种与Debug配置不同的配置.您现在应该可以从方案下拉菜单中选择测试方案,并运行您的测试配置.

您可以使用以下两种方法之一修改类的目标成员资格.

  1. 创建新文件时,可以选择位置的第三个面板,底部有选项,用于每个目标:

选择目标会员

  1. 在Project Navigator中选择文件时,File Inspector具有Target Membership面板,您可以在其中进行修改: 修改目标成员资格

计划

通常将方案配对以构建配置.一个好的做法是为每个需要不同版本的构建的受众制定计划/配置.以下是一些通常需要单独配置的基本受众群体:

  • 开发人员> DEBUG
  • 开发人员>测试
  • 内部测试>发展
  • Beta测试人员/制作> APP STORE

子类

如果要修改测试模式中的任何功能,可以使用子类,并仅将子类添加到测试目标.