Я хочу загрузить PHASset на сервер. Теперь мой PHASset может быть фото или видео. Я могу сделать это успешно для PHAssets, присутствующих на локальном устройстве. Но что, если PHAsset не находится на локальном устройстве и вместо этого присутствует в iCloud.Загрузить PHAsset из iCloud (т. Е. Нет на локальном устройстве)
Можем ли мы загрузить непосредственно с iCloud на сервер или мы должны сначала загрузить на локальное устройство, а затем загрузить операцию на сервер.
Кроме того, я был бы признателен, если бы кто-нибудь мог сказать, как это сделать.
Обновление: когда мы разрешаем доступ к сети для загрузки изображения из iCloud, я получаю это ниже ошибки.
{
PHImageErrorKey = "Error Domain=CloudPhotoLibraryErrorDomain Code=1000 \"Error fetching asset with identifier: AUXxudUWWzHheX1dXyRDgXpZN5ty\" UserInfo={NSLocalizedDescription=Error fetching asset with identifier: AUXxudUWWzHheX1dXyRDgXpZN5ty, NSUnderlyingError=0x7fb00a5e9480 {Error Domain=CKErrorDomain Code=6 \"Fetching asset failed\" UserInfo={NSLocalizedDescription=Fetching asset failed, NSUnderlyingError=0x7fb00a511600 {Error Domain=CKInternalErrorDomain Code=2022 \"Fetching asset failed\" UserInfo={NSLocalizedDescription=Fetching asset failed, NSUnderlyingError=0x7fb00a5b6fc0 {Error Domain=com.apple.mmcs Code=16 \"(null)\"}}}}}}";
PHImageResultDeliveredImageFormatKey = 0;
PHImageResultIsInCloudKey = 1;
PHImageResultWantedImageFormatKey = 20002;
}
Ваши соображения по загрузке актива сначала, а затем загрузка на сервер очень полезны. Я попытался получить изображение, как это, но я получаю сообщение об ошибке «Извлечение активов». См. Обновленный вопрос. –
Происходит ли запрос на актива, поскольку приложение не имеет доступа к iCloud? Я не участвовал в программе разработчика Apple. –
Да. Вы должны включить право iCloud с помощью службы iCloud Documents и настроить контейнер по умолчанию. Подробнее см. Здесь [Включение CloudKit в вашем приложении] (https://developer.apple.com/library/content/documentation/DataManagement/Conceptual/CloudKitQuickStart/EnablingiCloudandConfiguringCloudKit/EnablingiCloudandConfiguringCloudKit.html). Как я вижу, это необходимо, если вы используете 'networkAccessAllowed = true'. – dive