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选项启动时,它不会启动测距信标,而是将虚拟对象作为信标.
按照这些步骤操作后,您将能够将具有测试功能的测试类添加到构建中.要使用测试功能运行您的应用程序,您应该选择下面配置的测试方案.
要允许条件导入和功能有效进行测试,您需要以下成分:
1.复制配置以进行测试
在Project Navigator中选择项目文件后,请按照下列步骤操作:
2.复制目标进行测试
现在您已拥有测试配置,请添加测试目标.在项目导航器中选择项目文件,请按照下列步骤操作:
3.管理计划
现在您已拥有测试目标和配置,您可以添加指向新目标和配置的方案.
4.配置目标的构建设置
现在您已将测试方案设置为指向测试配置,它将与Debug配置完全相同,直到您修改构建设置.请按照以下步骤更改测试配置的构建设置:
5.向测试目标添加一个类
现在,测试方案指向一种与Debug配置不同的配置.您现在应该可以从方案下拉菜单中选择测试方案,并运行您的测试配置.
您可以使用以下两种方法之一修改类的目标成员资格.
通常将方案配对以构建配置.一个好的做法是为每个需要不同版本的构建的受众制定计划/配置.以下是一些通常需要单独配置的基本受众群体:
如果要修改测试模式中的任何功能,可以使用子类,并仅将子类添加到测试目标.