2016-10-24 2 views
0

У меня есть приложение iOS с Realm MD, поэтому мне нужно рассчитать размер хранилища на Realm Object Server и локальном хранилище Realm, как я могу это сделать?Как получить размер хранилища на сервере объектов Realm в iOS?

Спасибо!

+0

Вы запрашиваете как iOS, так и Realm Object Server. Хотя краткость - хорошая вещь, это разные платформы. Я бы предложил вам задать сервер объектов в другом вопросе. Я думаю, что это два отдельных вопроса. – Orlando

+1

Я создал еще один вопрос для ROS. http://stackoverflow.com/questions/40232169/size-of-storage-on-realm-object-server – Garnett

ответ

1

Размер базы данных Realm на локальном хранилище может быть получено с:

// Error and data dictionary 
NSError *sizeErr = nil; 
NSDictionary *fileAttributes = [[NSFileManager defaultManager] attributesOfItemAtPath:[RLMRealmConfiguration defaultConfiguration].fileURL.path 
                       error:&sizeErr]; 

if (sizeErr != nil) { 
    NSLog(@"Error!"); 
} else { 
    NSLog(@"DB size (in bytes) is: %@", [fileAttributes objectForKey:NSFileSize]); 
} 
+0

... но если я использую syncConfiguration для конфигурации области, fileURL = nil – Garnett

+0

Я получаю от Realm docs, что свойство 'fileURL' в классе' RLMRealmConfiguration' является (только) взаимоисключающим с использованием свойства 'inMemoryIdentifier', не связанного с какой-либо конфигурацией синхронизации. В синхронизированной области у вас не должно быть проблем при получении свойства 'fileURL'. Можете ли вы предоставить нам свой код конфигурации? Может быть, я что-то упустил. – Orlando

+0

Егор прав. Когда Realm синхронизируется, он сохраняется в отдельном месте в приложении, а свойство 'fileURL' равно nil. – TiM

0

Так же, как ответил the other thread мой коллега, нет общественного API, чтобы получить физический размер файла синхронизированной Realm в этом точка.

Поскольку синхронизированные области привязаны к учетным записям пользователей (это может измениться при входе и выходе пользователей), им предоставляются уникальные имена файлов, которые невозможно предсказать и управлять напрямую с помощью Realm в специальной папке в каталоге документов приложения. Таким образом, имущество fileURL в Configuration вернет ноль.

Мобильная платформа Realm по-прежнему активно развивается, и мы приветствуем все отзывы, которые мы можем получить. Если у вас есть конкретный случай использования для того, почему вам нужно знать размер автономного файла, напишите об ошибке на Realm Mobile Platform GitHub page.

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