我在Xcode 9,iOS11上保存EKEvent时收到此NSInternalInconsistencyException错误。
do {
try eventStore.saveEvent(newEvent, span: .ThisEvent, commit: true)
} catch {
}
错误:
致命异常:NSInternalInconsistencyException iOS 不支持 跨商店副本尚未。
每当将任何值分配给其他对象时,都意味着将一个值复制到另一个值,因此有时发送异常。
就我而言:
if(orginalEvent.structuredLocation != nil){
newEvent.structuredLocation = orginalEvent.structuredLocation
}
因此,我已替换为以下内容:
if(orginalEvent.structuredLocation != nil){
if orginalEvent.structuredLocation!.title.characters.count > 0{
let location = EKStructuredLocation(title: orginalEvent.structuredLocation!.title)
if(orginalEvent.structuredLocation?.geoLocation != nil){
location.geoLocation = CLLocation(latitude: (orginalEvent.structuredLocation?.geoLocation?.coordinate.latitude)!, longitude: (orginalEvent.structuredLocation?.geoLocation?.coordinate.longitude)!)
}
newEvent.structuredLocation = location
}
}
所以,它现在正在工作。
不要创建和使用新的 EKEventStore()。只需使用现有的EKEventStore实例。