如何在使用cocoapods resource_bundles和在不同的bundle中测试时加载资源

时间:2014-03-28 04:05:38

标签: testing core-data cocoapods

即时通讯使用cocoapods来管理我正在进行的私人图书馆。目前我有一个包含所有模型的子规范,包括用于核心数据建模的.xcdatamodel文件。我的podspec文件看起来像这样。

  s.subspec 'Data' do |ds|
            ...
            ds.resource_bundle   = { :DataKit => '/Data/Schema/App.xcdatamodeld' }
            ...
        end 

当我需要访问我的.xcdatamodel时,请查找我的DataKit包。

例如

    NSURL *url                               = [NSURL fileURLWithPath:[NSString stringWithFormat:@"%@/DataKit.bundle",[[NSBundle mainBundle] resourcePath]]];
    NSBundle *dataBundle                     = [NSBundle bundleWithURL:url];
    NSManagedObjectModel *managedObjectModel = [NSManagedObjectModel mergedModelFromBundles:@[dataBundle]];

我遇到的问题是我需要在Data subspec中测试一些代码,因此,当我运行测试时,没有DataKit包。我不想添加条件代码来加载捆绑,具体取决于是否测试。对此有什么好的解决方案吗?

0 个答案:

没有答案