我们目前正在设置我们的XCode项目,以便在Travis中构建和测试。
我们正在执行pod install
,然后使用以下命令:
xcodebuild clean test -workspace XXX.xcworkspace -scheme XXX -destination \"platform=iOS Simulator,name=iPhone 7\" CODE_SIGN_IDENTITY=\"\" CODE_SIGNING_REQUIRED=NO ONLY_ACTIVE_ARCH=NO
似乎无法从BNRCoreDataStack pod编译文件:
/BNRCoreDataStack/Sources/Bundle+CoreDataModelHelper.swift
,出现以下错误:Initializer for conditional binding must have Optional type, not 'NSManagedObjectModel'
(然后以代码65退出)。看一下这个类,我们可以看到NSManagedObjectModel
的初始化器确实是可选的,所以我们不确定错误是什么。
在本地计算机上运行相同的命令可以正常工作。
其他信息:我们正在使用xcode9和Swift 3.0。
Actual code from BNRCoreDataStack:
import Foundation
extension Bundle {
static private let modelExtension = "momd"
/**
Attempts to return an instance of NSManagedObjectModel for a given name within the bundle.
- parameter name: The file name of the model without the extension.
- returns: The NSManagedObjectModel from the bundle with the given name.
**/
public func managedObjectModel(name: String) -> NSManagedObjectModel {
guard let URL = url(forResource: name, withExtension: Bundle.modelExtension),
let model = NSManagedObjectModel(contentsOf: URL) else {
preconditionFailure("Model not found or corrupted with name: \(name) in bundle: \(self)")
}
return model
}
}