2015-01-14 2 views
2

Что является самым простым способом обмена файлами между пользователями с CloudKit?CloudKit - обмен файлами между пользователями через URL-адрес

Этот фреймворк (https://github.com/iRareMedia/iCloudDocumentSync) был выпущен до CloudKit и поддерживает простой способ совместного использования: вы получаете URL-адрес, который вы можете отправить другому пользователю, и он может напрямую загрузить то, что вы ему поделили.

Это что-то вроде этого (или даже лучшего), доступного с новым CloudKit?

ответ

1

Это не похоже, что это возможно, в основном потому, что CloudKit не является API-интерфейсом документа. Обмен документами с проектом, с которым вы связаны, зависит от [NSFileManager URLForPublishingUbiquitousItemAtURL:expirationDate:error:]. Этот метод работает для документов, сохраненных в текущей учетной записи iCloud.

Поскольку CloudKit больше похож на API базы данных, трудно сказать, что будет представлять URL. Запись? Возможно, если вы определите какой-то формат для загрузки одной записи за пределы своего хранилища данных. Это может иметь смысл для CKAsset, но пока Apple не добавила возможности.

В отличие от iCloud, CloudKit делает имеет возможность публичных данных для всех, кто использует приложение. В зависимости от того, что вы пытаетесь выполнить, это может быть альтернативой, в которой вы нуждаетесь. В противном случае, похоже, вам не повезло с совместным использованием CloudKit.

3

Вы можете решить эту проблему, создав CKRecord, содержащий CKAsset, который является файлом, который вы хотите предоставить. Для этого CKRecord вам понадобится уникальный идентификатор. Вы можете использовать recordId для этого. Затем настройте deeplinking для своего приложения. Это, по-видимому, является хорошим инструментом для этого: https://github.com/usebutton/ios-deeplink-sdk Затем просто создайте деблокировку, включающую этот уникальный идентификатор. Когда приложение открывается с такой ссылкой, вы можете загрузить CKRecord, и у вас будет файл в CKAsset.

+0

Это не работает. Уникального идентификатора записи, похоже, недостаточно, чтобы найти запись. Я получаю ошибку Ошибка выборки, даже если я копирую и вставляю ее. –

Смежные вопросы