Xcode CoreData 存储报错问题。

因项目接口变动,导致之前的CoreData字段需要调整。于是记录下出错的流程和解决方案。步骤如下:

1. 先在 *****.xcdatamodeld 文件中添加需要调整的字段。并更新本地model实体。

2. 我的流程是接到消息后本地存储在CoreData里面,然后UI展示(具体消息推送和接收问题,之前已经做好了,不在这里讲解。)。因我是真机调试,收到消息推送后,但是一直无数据。于是想去本地sqlite里面查看是否已经将消息存储完毕,于是捕捉到路径并执行进入sqlite时问题来了:

sqlite3 /var/mobile/Containers/Data/Application/29DC033C-817A-4860-911D-0F110F9B38B4/Documents/JiangSuEchat.sqlite

执行以上语句是没问题的。但是却无法获取.database; 或 .tables;

错误如下:

sqlite> .tabls
Error: unknown command or invalid arguments:  "tabls". Enter ".help" for help
sqlite> .databases
Error: unable to open database "/var/mobile/Containers/Data/Application/29DC033C-817A-4860-911D-0F110F9B38B4/Documents/JiangSuEchat.sqlite": unable to open database file

解决方案:

错误信息:无法打开数据库文件。

是我二了,因真机调试中,CoreData很明显是存储在手机里面的,我用电脑访问手机的路径SQLite,则不是很明显的错误么?所以将环境改为虚拟机调试后,重新获取到虚拟机的SQLite文件路径执行以上步骤即可查询数据了。

3. 解决以上问题,行动继续。编译项目。无问题。

点击消息中心读取本地SQLite消息的时候又报错了。如下:

The model used to open the store is incompatible with the one used to create the store

解决方案:

因CoreData本来就作为数据值持久化存储使用的,在变更了里面数据字段后。导致冲突存在了。按如下操作即可解决这个问题:

  a.clear 项目文件。

  b.删除 虚拟机里面的app文件。

具体方案 参考:http://stackoverflow.com

时间: 2024-08-01 00:08:22

Xcode CoreData 存储报错问题。的相关文章

coreData部分报错:This NSPersistentStoreCoordinator has no persistent stores.

最近在修改一个程序BUG的时候遇到一个问题coreData部分报错:This NSPersistentStoreCoordinator has no persistent stores. 但实际跑程序时.增删保存都没问题. 我花了很多的时间在问题抛出的地方在[contextsave:&error]; 后来发现,早在初期化_persistentStoreCoordinator 时就报错了 if (![_persistentStoreCoordinator addPersistentStoreWit

Esxi6.0-U1 宿主机挂载EMC存储报错

时间:2016-7-4 事件:esxi6.0主机挂载存储报错 解决办法: 原来这是vSphere 6的一个已知bug,解决方法是重启管理代理,方法有两种. 一是去ESXi主机控制台上按F2,以root登陆,然后选择Restart Management Agents. 二是通过SSH登陆ESXi主机.具体步骤如下: 用Client登陆vCenter,找到这台主机,在其Configuration中选择Security Profile,点右边的Properties 在列表中选择SSH,点击Option

k8s使用glusterfs存储报错type ‘features/utime‘

k8s使用glusterfs存储报错type 'features/utime' is not valid or not found on this machine pods报错如下 Events: Type Reason Age From Message ---- ------ ---- ---- ------- Normal Scheduled 5m48s default-scheduler Successfully assigned default/auth-web-1-77f4f7cbcc

七牛云存储 报错的问题

上传 401 错误码 liangchao • 发表于:2015年08月20日 15:26 • 更新于:2016年01月07日 17:01 一.报错:{"error":"expired token"},{“error”:”token out of date”} 处理方法: 1.将token的有效期设置的长一些.对于比较大的文件,可以适当加长有效期(默认是3600秒) 2.看下自己的服务器时间是否是联网时间.如果时间不准,导致签名后的结果可能已经是过期的了 3.建议客户

Xcode 证书问题报错锦集

Xcode因为证书问题经常报的那些错 字数495 阅读13559 评论20 喜欢47 去年才开始做 iOS开发的时候,因为证书问题 Xcode 经常报这样或那样的错,经过一年多的实践,现在看见 Xcode 报错已经心平气和了,经常报的错就那么多,整理一下. 1. 确认下证书是不是开发证书,如果是发布证书就会出现这样的提示. 2. 证书失效了,去开发者中心重新生成一个. 3. 包标识符不与描述文件包含的包标识符不一致,按照它的提示换一下就好了,最好不要点 Fix Issue,点完后 Xcode 会

xcode的类库报错,如何解决

首先看一下自己报错的原因,是当前UIkit框架还是别的,然后按住Command+shift+G 把"/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator.sdk/System/Library/Frameworks/Foundation.framework/Headers" 根据自己的需要查找指定的文件夹 这段代码的意思就是/

xcode编译运行报错纪录(持续更新)

---恢复内容开始--- 1. Undefined symbols for architecture i386: "_deflate", referenced from: -[NSData(AMapCloudCompression) maZlibDeflate] in AMapCloudKit -[NSData(AMapCloudCompression) maGZipDeflate] in AMapCloudKit -[NSData(MACompression) maZlibDefla

XCODE 6 经常报错 “Could not inspect the application package”

XCODE 6.01,真机运行时,总是是 第一次 蹦出弹窗, 提示:App installation failedCould not inspect the application package. 再来一次就可以运行了.但是,一直反复出现. 为什么呢? 分析后发现:项目一开始是没有问题的.后来我把工程名改成中文,就出现这个问题了.所以只要恢复成之前的英文就好了.

mysql表情存储报错问题

mysql采用utf-8字符编码,但在移动端使用输入法的表情并存储数据库的时候,出现错误. java.sql.SQLException: Incorrect string value: '\xF0\x9F\x92\x94'... 经排查,原因在于utf-8编码无法存储表情字符. 解决步骤: 更改数据库编码为utf8mb4和utf8mb4_unicode_ci 更改所需要存储表情的那张表的编码为utf8mb4和utf8mb4_unicode_ci 更改表中存储的那个字段的编码为utf8mb4和ut