Проблема с локальными и облачными идентификаторами ресурсов общего альбома 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

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