Ответ 1
Производительность
iCloud онлайн-емкость определяется Apple. Размер локального кеша устанавливается ограничениями на вашем диске. Мой предыдущий ответ указывал емкость диска. Ваш образец должен возвращать размер вашего собственного устройства.
FileSize
Ниже приведен ответ, который поможет вам определить размер файла контейнера контейнера iCloud. Существуют и другие методы, такие как перечисление подпапок, которые могут быть тем, что вы хотите. Я представляю простейшую вещь, которая должна работать works ниже (я ее не тестировал). Дайте мне знать, если вы ищете что-то другое.
Согласно Apple docs и Быстрая справка в Xcode, похоже, вы можете посмотреть URLForUbiquityContainerIdentifier
Возвращает URL-адрес контейнера iCloud, связанного с указанным идентификатор и устанавливает доступ к этому контейнеру. URL, указывающий на указанный контейнер для вездесущности, или nil, если контейнер не может быть или если хранилище iCloud недоступно для текущего пользователя или устройство.
Важное примечание об использовании этого свойства:
Учитывая эту информацию, что-то вроде этого может работать... Обязательно проверьте документацию, оперативную справку и файлы заголовков для любых дополнительных оговорок.
dispatch_async(dispatch_get_global_queue(QOS_CLASS_USER_INITIATED, 0), { () -> Void in
//Note: The container identifier is in your Capabilities > iCloud > Containers
if let iCloudPath = NSFileManager.defaultManager().URLForUbiquityContainerIdentifier("iCloud.com.yourcompanydomain.app")?.path {
let pathAttributes = try? NSFileManager.defaultManager().attributesOfItemAtPath(iCloudPath)
let space = (pathAttributes?[NSFileSize] as? NSNumber)?.unsignedLongLongValue
dispatch_async(dispatch_get_main_queue()) {
print ("iCloud disk space: \(space)")
}
}
})