2016-07-18 15 views
1

내 구독 정보가 iOS 9에서 제대로 작동했지만 업데이트 한 이후로 매우 이상한 오류가 발생했습니다. 그들이 관리하는 필드를 제외하고 두 가지 가입 방법이 동일합니다. 다음은 코드입니다.CKSubscription 오류 iOS10

let meetingSubscriptionPredicate = Predicate(format: "Users CONTAINS %@", (id?.recordName)!) 

let meetingSubscription = CKQuerySubscription(recordType: "Meetings", predicate: meetingSubscriptionPredicate, options: .firesOnRecordCreation) 

let notification = CKNotificationInfo() 
notification.alertBody = "Meeting Created!" 
notification.shouldBadge = true 
notification.accessibilityPerformEscape() 
meetingSubscription.notificationInfo = notification 

database.save(meetingSubscription) { (result, error) -> Void in 
     if error != nil { 
      print(error!.localizedDescription) 
     } 
} 

let universitiesSubscriptionPredicate = Predicate(format: "Name = %@", self.UniversityTextField.text!) 
let universitiesSubscription = CKQuerySubscription(recordType: "Universities", predicate: universitiesSubscriptionPredicate, options: .firesOnRecordCreation) 
let universitiesNotification = CKNotificationInfo() 
universitiesNotification.alertBody = "Your university is now on Meet'em!" 
universitiesNotification.shouldBadge = true 
universitiesNotification.accessibilityPerformEscape() 
universitiesSubscription.notificationInfo = universitiesNotification 
database.save(universitiesSubscription, completionHandler: { (saved, error) in 
     if error != nil { 
      print(error!.localizedDescription) 
     } 
     else { 
      print("University subscription created") 
     } 
}) 

이상한 점은 모임 구독이 저장되고 대학 구독이 이상한 점입니다. 이름을 두 번 확인했는데 그들은 대시 보드에서 괜찮습니다. 그 외에도, 내가해야 할 때 내 전화에 대한 통보를 받고 있지 않다 ...

+0

같은 문제가있는 경우 해결책을 찾았습니까? –

답변

0

당신의 개발 환경을 재설정하려고 할 수있는 다른 온라인에서 찾을 수 있습니다. 필자가 사용하려고했던 술어는 질의 가능하도록 설정되지 않았다. 이것은 레코드 유형을 정의 할 때 틱됩니다. 언젠가 다른 사람이 아닌 그 일을 한 이유는 아마도 개발에서 생산으로 옮겨 갔기 때문일 것입니다. 이때 인덱스를 최적화하라는 메시지가 표시되며, 주어진 조건자를 검색 할 수있는 가능성이 떨어지게됩니다. 그것은 어쨌든 나를위한 경우 인 것처럼 보였다.

관련 문제