CloudKit делиться с пользователями, у которых не установлено приложение - PullRequest
0 голосов
/ 02 июня 2018

Мне нужно поделиться записью с контактами, у которых еще не установлено мое приложение.Я знаю, что есть способ направить получателя приглашения на обмен в магазин приложений, где они смогут загрузить мое приложение ... по какой-то причине я не смог понять, как это сделать.В настоящее время, с моим приложением, если получатель не имеет моего приложения, он получает команду «Включить iCloud. Вам нужно включить icloud для« моего приложения », прежде чем вы сможете его открыть».Поскольку у них нет приложения, это приведет их в состояние растерянности и отчаяния.

Любая помощь будет принята с благодарностью.

1 Ответ

0 голосов
/ 14 июня 2018

Когда вы создаете 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 здесь для получения дополнительной информации.

Удачи!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...