当我运行单元测试时,我想跳过一些代码(例如我不想[[UIApplication sharedApplication] openURL:..]运行).我正在寻找运行时检查我是否正在运行单元测试.
我知道我已经看过代码检查Objective-C运行时,如果单元测试正在运行,但我再也找不到它了.
受Hubspot博客帖子的启发,我将我的iOS项目拆分为一个主项目和几个使用CocoaPods添加到主项目的子项目.
我有一个主项目和几个子项目(每个子项目都在一个单独的git存储库和podspec文件中).优点是每个子项目都可以自己编译,运行和测试.这种方法很有效,除了共享全局项目,如静态字符串,全局协议,子项目之间的基类(例如SomeProtocol.h,constants.h).我在主项目中定义了静态字符串,协议和基类,并在主项目中创建了一个包含全局项的pod规范,该规范被添加到子项目的pod文件中.
子项目使用这种方法编译和运行,但主项目不编译,因为每个子项目pod都包含像
#import <SomeProtocol.h>
#import <constants.h>
Run Code Online (Sandbox Code Playgroud)
编译单个pod库时找不到(虽然是主项目的一部分).
是否有最佳实践如何将大型iOS项目拆分为几个较小的项目?