我需要与尚未安装我的应用的联系人共享记录。我知道有一种方法可以将分享邀请的收件人引导到应用程序商店,在那里他们可以下载我的应用程序......由于某些原因,我无法弄清楚如何做到这一点。目前,使用我的应用程序,如果收件人没有我的应用程序,则会指示他们打开iCloud。你需要为我的应用程序开启icloud"在你打开它之前#34;。由于他们没有应用程序,这将使他们陷入混乱和绝望的状态。
非常感谢任何帮助。
答案 0 :(得分:0)
创建CKShare
时,您可以将默认 publicPermission
设置为 .readWrite
,以便人们只需要链接到您的共享,以便开始使用共享记录。这是一个例子:
//:: Step 1 :: Create the rootRecord and share
let rootRecord = CKRecord(recordType: "...", recordID: CKRecordID(recordName: "...", zoneID: "..."))
let share = CKShare(rootRecord: rootRecord)
share[CKShareTitleKey] = "..." as CKRecordValue
share[CKShareTypeKey] = "com.example.YourApp" as CKRecordValue
share.publicPermission = .readWrite //<-- This is the important part
//:: Step 2:: Save the share to CloudKit
let operation = CKModifyRecordsOperation(recordsToSave: [rootRecord, share], recordIDsToDelete: nil)
operation.savePolicy = .changedKeys
operation.modifyRecordsCompletionBlock = { records, recordIDs, error in
if let error = error{
print(error)
}else{
if let url = share.url{
//:: Step 3 :: Grab the share URL
print(url.absoluteString) //<-- Save this URL somewhere that you can send to people
}
}
}
使用此publicPermission
级别,您不需要CKUserIdentity
来添加参与者。您可以在以后开始使用应用时添加它们。
有关详细信息,请参阅publicPermission docs here。
祝你好运!