Проблема с локальными и облачными идентификаторами ресурсов общего альбома AppleIOS

Программируем под IOS
Ответить
Anonymous
 Проблема с локальными и облачными идентификаторами ресурсов общего альбома Apple

Сообщение Anonymous »

Запустите getCloudID с фактическим локальным идентификатором, и это поможет вернуть идентификатор облака, который я сохраняю для дальнейшего использования. Я запускаю функцию getLocalID и получаю сообщение об ошибке: «Невозможно преобразовать значение типа «String» в ожидаемый тип элемента «Array.ArrayLiteralElement» (он же «PHCloudIdentifier»)».
Передача ТОЛЬКО строка для локальных и облачных идентификаторов и не уверен, что означает это сообщение, поскольку в документе Apple говорится, что оно должно работать для функции getLocalID.
func getCloudID(localIdentifiers: String) -> String {
var cloudIdentifiers = String()
let library = PHPhotoLibrary.shared()
let iCloudIDs = library.cloudIdentifierMappings(forLocalIdentifiers: [localIdentifiers])
for aCloudID in iCloudIDs {

let cloudResult: Result = aCloudID.value
switch cloudResult {
case .success(let success):
let newValue = success.stringValue
cloudIdentifiers.append(newValue)
case .failure(let failure) :
let thisError = failure as? PHPhotosError
switch thisError?.code {
case .identifierNotFound:
print("Failed to find the cloud identifier for \(aCloudID). \(String(describing: thisError?.localizedDescription)))")
default:
print("Error looking up the cloud identifier for \(aCloudID). \(String(describing: thisError?.localizedDescription))")
}
}
}
return cloudIdentifiers
}

func getLocalID(cloudIdentifiers: String) -> String {
var localIdentifiers = String()
let library = PHPhotoLibrary.shared()
let localIDs = library.localIdentifierMappings(for: [cloudIdentifiers])
for aLocalID in localIDs {
let localResult: Result = aLocalID.value
switch localResult {
case .success(let success):
localIdentifiers.append(success)
case .failure(let failure) :
let thisError = failure as? PHPhotosError
switch thisError?.code {
case .identifierNotFound:
print("Failed to find the local identifier for \(aLocalID). \(String(describing: thisError?.localizedDescription)))")
default:
print("Error looking up the local identifier for \(aLocalID). \(String(describing: thisError?.localizedDescription))")
}
}
}
return localIdentifiers
}


Подробнее здесь: https://stackoverflow.com/questions/782 ... iers-issue
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «IOS»