Simperium не может загрузить данные участника (неподдерживаемый тип)
Пытаясь добавить Simperium в мое существующее приложение, я получаю сообщение об ошибке NSAssertion:
(gdb) po $eax
Simperium couldn't load member data (unsupported type)
Трассировки стека:
(gdb) bt
#0 0x02f63cbc in objc_exception_throw ()
#1 0x0190da48 in +[NSException raise:format:arguments:] ()
#2 0x00a5b2cb in -[NSAssertionHandler handleFailureInMethod:object:file:lineNumber:description:] ()
#3 0x003ac625 in -[SPCoreDataExporter addMembersFrom:to:] (self=<value temporarily unavailable, due to optimizations>, entityDesc=<value temporarily unavailable, due to optimizations>) at /Users/kineticpoet/dev/simperium-ios-private/Simperium/SPCoreDataExporter.m:95
#4 0x003acd3b in -[SPCoreDataExporter exportModel:classMappings:] (_cmd=0x3fa641, model=0x7b377560) at /Users/kineticpoet/dev/simperium-ios-private/Simperium/SPCoreDataExporter.m:156
#5 0x00374a4d in -[Simperium startWithAppID:APIKey:model:context:coordinator:] (self=<value temporarily unavailable, due to optimizations>, _cmd=<value temporarily unavailable, due to optimizations>, model=<value temporarily unavailable, due to optimizations>) at /Users/kineticpoet/dev/simperium-ios-private/Simperium/Simperium.m:385
#6 …
Какие типы поддерживаются? Поддерживаются ли двоичные данные? Мое приложение использует "Разрешить внешнее хранение" для двоичных данных. Это поддерживается?
Как я могу узнать больше информации?
ОБНОВИТЬ:
Расширение примера Simperiums Simpletodo и добавление нового объекта с атрибутом двоичных данных приводит к той же ошибке:
…
2012-05-13 14:30:20:192 SimpletodoFinal[42429:fb03] Simperium starting...
2012-05-13 14:30:20.222 SimpletodoFinal[42429:fb03] *** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Simperium couldn't load member data (unsupported type)'
*** First throw call stack:
(0x17f2022 0x1bcecd6 0x179aa48 0xdda2cb 0x3fb85 0x4029b 0x7fad 0x2e37 0x441386 0x442274 0x451183 0x451c38 0x445634 0x2082ef5 0x17c6195 0x172aff2 0x17298da 0x1728d84 0x1728c9b 0x441c65 0x443626 0x290d 0x2875 0x1)
terminate called throwing an exception
Обновление ^ 2:
Simperium начинает синхронизацию после изменения суперкласса сущности с двоичными данными на non NSManagedObject
учебный класс.
1 ответ
Поддержка Simperium двоичного типа в Core Data в настоящее время недокументирована и ограничена. Чтобы Simperium не видел какой-либо конкретный атрибут (включая двоичные атрибуты, которые еще не полностью поддерживаются), вы можете добавить в этот атрибут параметр User Info.
Выделите атрибут в редакторе моделей, откройте панель инспектора и добавьте параметр "Сведения о пользователе". Установите ключ spDisableSync
и значение для 1
, Это должно позволить успешно использовать оставшуюся часть этой сущности с Simperium (если вам это нужно).