В нашем приложении мы используем статическую область, которую мы можем загрузить и обновить во время выполнения. Чтобы определить правильную версию схемы Realm, мы используем хеш md5 описания схемы области. Поэтому, если наша схема изменится, нам просто нужно предоставить новую версию базы данных, и приложение сможет ее найти. Благодаря этому мы можем одновременно иметь несколько версий, каждый из которых может загружать или обновлять свою соответствующую базу данных.Описание схемы каналов не идентично на симуляторе и устройстве
Это долго работало, пока мы не обнаружили, что описание схемы царства на симуляторе и устройстве в некоторых редких случаях не одинаково. У нас около 35 сущностей, и странно, что только одно описание отличается в порядке полей.
SomeEntity {
telefon {
type = bool;
objectClassName = (null);
linkOriginPropertyName = (null);
indexed = NO;
isPrimary = NO;
optional = YES;
}
email {
type = bool;
objectClassName = (null);
linkOriginPropertyName = (null);
indexed = NO;
isPrimary = NO;
optional = YES;
}
}
Что отличает? «telefon» и «email» переключаются в порядке на реальном устройстве - что, конечно же, приводит к другому хэш-адресу md5.
Не должно ли быть идентичным описание на всех устройствах?
Что было бы отличным и надежным способом определения схемы царства?
Редактировать
Мы используем ту же версию области на обоих устройствах.