区分记录类型和 iCloud 发送的通知
Distinguishing record type from notification sent by iCloud
我在区分创建、更新或删除的记录类型时遇到问题。
我有两个 CKSubscription
用于不同类型的记录;狗和猫。
从[String : AnyObject]
看,无法区分是狗还是猫。
像这样的东西作为远程通知发送到应用程序。
["ck": {
ce = 2;
cid = "iCloud.com.xxx.yyy";
nid = "xxx-xxx-xxx";
qry = {
dbs = 2; // I don't know what this is, but it doesn't change
fo = 3; // This indicates a deletion.
rid = "SomeManuallySetID";
sid = "117DCFC3-F723-49F7-9F9D-A3D7463671F2";
zid = "_defaultZone";
zoid = "_defaultOwner";
};
}]
有没有人能够在不再次查询 iCloud 的情况下做到这一点?
你首先从 NSNotification
得到一个 CKNotification
。然后在确定它是查询通知后,将其转换为 CKQueryNotification
。从那里你可以得到 CKRecordID
。使用它,您可以从 CKDatabase
中获取 CKRecord
。获得 CKRecord
后,您可以使用 recordType
属性.
我在区分创建、更新或删除的记录类型时遇到问题。
我有两个 CKSubscription
用于不同类型的记录;狗和猫。
从[String : AnyObject]
看,无法区分是狗还是猫。
像这样的东西作为远程通知发送到应用程序。
["ck": {
ce = 2;
cid = "iCloud.com.xxx.yyy";
nid = "xxx-xxx-xxx";
qry = {
dbs = 2; // I don't know what this is, but it doesn't change
fo = 3; // This indicates a deletion.
rid = "SomeManuallySetID";
sid = "117DCFC3-F723-49F7-9F9D-A3D7463671F2";
zid = "_defaultZone";
zoid = "_defaultOwner";
};
}]
有没有人能够在不再次查询 iCloud 的情况下做到这一点?
你首先从 NSNotification
得到一个 CKNotification
。然后在确定它是查询通知后,将其转换为 CKQueryNotification
。从那里你可以得到 CKRecordID
。使用它,您可以从 CKDatabase
中获取 CKRecord
。获得 CKRecord
后,您可以使用 recordType
属性.