After upgrading to iOS 15 beta 4, several users report the app crashes shortly when launch.
Debug in the device, we had the same crash:
*** Terminating app due to uncaught exception 'CKException', reason: 'CKDataBaseOperations must be submitted to a CKDatabase'
The user info in this CKError leads us to this line:
// Called when app launches
final class PrivateDatabaseManager {
let container: CKContainer
let database: CKDatabase
public init(container: CKContainer) {
self.container = container
self.database = container.privateCloudDatabase
}
func resumeLongLivedOperationIfPossible() {
container.fetchAllLongLivedOperationIDs { [weak self]( opeIDs, error) in
guard let self = self, error == nil, let ids = opeIDs else { return }
for id in ids {
self.container.fetchLongLivedOperation(withID: id, completionHandler: { [weak self](ope, error) in
guard let self = self, error == nil else { return }
if let modifyOp = ope as? CKModifyRecordsOperation {
modifyOp.modifyRecordsCompletionBlock = { (_,_,_) in
print("Resume modify records success!")
}
self.container.add(modifyOp)
}
})
}
}
}
}
If we add a break point in this line, the properties in modifyOp
look fine. and we don't have this issue before this beta.
Checking the crash data we collect in firebase, the operating system is 100% iOS 15.
Using:
Xcode: Version 13.0 beta 3 (13A5192j)
Device: 15.0 (19A5307g)