XCTest:[UIApplication sharedApplication] 返回 nil
Posted
技术标签:
【中文标题】XCTest:[UIApplication sharedApplication] 返回 nil【英文标题】:XCTest: [UIApplication sharedApplication] is returning nil 【发布时间】:2015-09-03 22:35:32 【问题描述】:我用 Objective-C 编写了一个包含所有实用程序(通用)功能的框架。由于它是一个框架,它没有 App 委托文件。
我已经创建了一个 UIApplication 类,里面有几个实用方法。
@interface TestApplication : UIApplication
- (void)initialLockSetUp;
// more...
现在从我的单元测试文件中,我如何测试这个“initialLockSetUp”方法?
当我调用(TestApplication*)[UIApplication sharedApplication]
时,它返回 nil。
【问题讨论】:
您是否尝试过更改测试目标? 为什么需要UIApplication
的子类?
【参考方案1】:
如果由于某种原因您需要 UIApplication
实例进行测试,则测试目标的测试主机应该是应用程序。然后,您可以将您的框架链接到该测试目标。现在[UIApplication sharedApplication]
将返回一个有效的UIApplication
实例。操作系统会在应用启动时创建此实例,因此您将无法对其进行子类化。
这是项目设置的截图:
【讨论】:
以上是关于XCTest:[UIApplication sharedApplication] 返回 nil的主要内容,如果未能解决你的问题,请参考以下文章
Xcode 5.0.2 dyld:库未加载:@rpath/XCTest.framework/Versions/A/XCTest
XCTest/XCTest.h 文件未找到 XCode 5.1.1 iOS7