Ios CloudKit的单元测试

Ios CloudKit的单元测试,ios,swift,unit-testing,cloudkit,Ios,Swift,Unit Testing,Cloudkit,假设我有几个应用程序目标,主要目标是应用程序本身以及所有必需的CloudKit权利。应用程序运行良好,并通过CloudKit获取数据。我有一个获取CloudKit数据库的类 import CloudKit class Database { static let container = CKContainer(identifier: "iCloud.com.identifier") static let publicDatabase = { return co

假设我有几个应用程序目标,主要目标是应用程序本身以及所有必需的CloudKit权利。应用程序运行良好,并通过CloudKit获取数据。我有一个获取CloudKit数据库的类

import CloudKit

class Database {

    static let container = CKContainer(identifier: "iCloud.com.identifier")

    static let publicDatabase = {
        return container.publicCloudDatabase
    }

    static let privateDatabase = {
        return container.privateCloudDatabase
    }
}
现在让我们假设有一个函数可以从CloudKit中检索一些记录

public func retrieveData(completion:(CKRecord?) -> () 
函数在应用程序中使用时工作正常,但当我为它编写单元测试并运行它时,CloudKit容器在这一行崩溃:

static let container = CKContainer(identifier: "iCloud.com.identifier")
提供以下信息:

***由于未捕获的异常“CKException”而终止应用程序,原因是:“应用程序缺少必需的权限com.apple.developer.icloud服务”


请注意,我在主应用程序目标中拥有所有必需的权限,并且它们工作正常,因此我想知道是否有任何方法可以使其在测试目标中工作?

确保您在测试类中使用的主目标中的所有类也设置了测试目标