Simperium couldn't load member data (unsupported type)

混江龙づ霸主 提交于 2019-12-24 17:06:59

问题


Trying to add Simperium to my existing app, I get a NSAssertion error:

(gdb) po $eax
Simperium couldn't load member data (unsupported type)

Stack trace:

(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 …

What are the supported types? Are binary data supported? My app uses "Allows external storage" for binary data. Is that supported?

How can I find out more info?

UPDATE:

Extending Simperiums Simpletodo example and adding a new entity with binary data attribute leads to the same error:

…
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

Update^2:

Simperium starts sync after changing superclass of entity with binary data to non NSManagedObject class.


回答1:


Simperium's support for the binary type in Core Data is currently undocumented and limited. To prevent Simperium from seeing any particular attribute (including binary attributes, which aren't yet fully supported), you can add a User Info parameter to that attribute.

Highlight the attribute in the model editor, open the inspector pane, and add a User Info parameter. Set the key to spDisableSync and the value to 1. This should allow the rest of that entity to be used successfully with Simperium (if you need it).



来源:https://stackoverflow.com/questions/10571694/simperium-couldnt-load-member-data-unsupported-type

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!