Parse.com iOS SDK崩溃:PFSQLiteDatabase.m第178行 – [PFSQLiteDatabase _executeQueryAsync:withArgumentsInArray:cachingEnabled:]

Parse.com iOS SDK崩溃:PFSQLiteDatabase.m第178行 – [PFSQLiteDatabase _executeQueryAsync:withArgumentsInArray:cachingEnabled:],第1张

概述我有一个生产中使用Parse.com iOS SDK和本地数据存储([PFObject pin])的应用程序. 我们的一些用户在生产中遇到了这种崩溃,正如我们在崩溃线程的Crashlytics报告中看到的那样: Thread : Crashed: com.parse.sqlite.db.queue0 libsqlite3.dylib 0x000000019b269f 我有一个生产中使用Parse.com iOS SDK和本地数据存储([PFObject pin])的应用程序.

我们的一些用户在生产中遇到了这种崩溃,正如我们在崩溃线程的Crashlytics报告中看到的那样:

Thread : Crashed: com.parse.sqlite.db.queue0  libsqlite3.dylib               0x000000019b269f58 (null) + 90961  libsqlite3.dylib               0x000000019b25315c (null) + 851242  libsqlite3.dylib               0x000000019b25315c (null) + 851243  libsqlite3.dylib               0x000000019b21bd68 (null) + 30284  libsqlite3.dylib               0x000000019b2530c0 (null) + 849685  libsqlite3.dylib               0x000000019b245848 (null) + 295526  libsqlite3.dylib               0x000000019b225794 (null) + 130807  libsqlite3.dylib               0x000000019b224634 (null) + 86328  libsqlite3.dylib               0x000000019b223734 (null) + 47929  libsqlite3.dylib               0x000000019b222fa4 (null) + 285610 libsqlite3.dylib               0x000000019b222c5c (null) + 201611 Parse                          0x00000001009a9c20 -[PFsqliteDatabase _executequeryAsync:withArgumentsInArray:cachingEnabled:] (PFsqliteDatabase.m:178)12 Bolts                          0x000000010061d034 __55-[BFTask continueWithExecutor:block:cancellationToken:]_block_invoke_2 (BFTask.m:334)13 libdispatch.dylib              0x000000019b5457b0 _dispatch_call_block_and_release + 2414 libdispatch.dylib              0x000000019b545770 _dispatch_clIEnt_callout + 1615 libdispatch.dylib              0x000000019b55175c _dispatch_queue_drain + 86416 libdispatch.dylib              0x000000019b549274 _dispatch_queue_invoke + 46417 libdispatch.dylib              0x000000019b545770 _dispatch_clIEnt_callout + 1618 libdispatch.dylib              0x000000019b553bb0 _dispatch_root_queue_drain + 214019 libdispatch.dylib              0x000000019b55334c _dispatch_worker_thread3 + 11220 libsystem_pthread.dylib        0x000000019b759478 _pthread_wqthread + 1092

我的假设是,当数据库架构在应用程序升级之间发生变化时会发生这种情况,但这几乎是纯粹的猜测.

我正在寻找的是通过捕获异常或通过设置一些SDK配置属性来查看是否有人知道如何防止此崩溃发生.

我们的固定对象仅用于捕获数据和用户会话,如果需要可以安全删除.

更新:2015年11月23日

在应用程序启动时,我们一直在使用Parse SDK(1.9.1)遇到这个问题.看起来当Parse.com后端的数据模型发生变化并且与固定对象的数据模型不同时,应用程序总是崩溃一次.下次运行时,一切正常.

重现的可能步骤(不是100%肯定):

>从Parse.com加载对象
>在本地固定对象
>完全关闭应用程序
>通过添加新列在Parse.com中更新模型
>启动应用程序
>重复步骤1和2
> CRASH
>再次启动应用程序
>重复步骤1和2
>一切正常

这是另一个可能有助于调试问题的崩溃报告:

Thread : Crashed: com.parse.sqlite.db.queue0  libsqlite3.dylib               0x19ac05f58 (null) + 90961  libsqlite3.dylib               0x19abdc020 (null) + 69842  libsqlite3.dylib               0x19abdc020 (null) + 69843  libsqlite3.dylib               0x19abdbe2c (null) + 64844  libsqlite3.dylib               0x19abc1cc0 (null) + 144045  libsqlite3.dylib               0x19abc0634 (null) + 86326  libsqlite3.dylib               0x19abbf734 (null) + 47927  libsqlite3.dylib               0x19abbefa4 (null) + 28568  libsqlite3.dylib               0x19abbec5c (null) + 20169  Parse                          0x100de8bc8 -[PFsqliteDatabase _executequeryAsync:withArgumentsInArray:cachingEnabled:] (PFsqliteDatabase.m:176)10 Bolts                          0x1006c6fec __55-[BFTask continueWithExecutor:block:cancellationToken:]_block_invoke_2 (BFTask.m:336)11 libdispatch.dylib              0x19aee17b0 _dispatch_call_block_and_release + 2412 libdispatch.dylib              0x19aee1770 _dispatch_clIEnt_callout + 1613 libdispatch.dylib              0x19aeed75c _dispatch_queue_drain + 86414 libdispatch.dylib              0x19aee5274 _dispatch_queue_invoke + 46415 libdispatch.dylib              0x19aee1770 _dispatch_clIEnt_callout + 1616 libdispatch.dylib              0x19aeefbb0 _dispatch_root_queue_drain + 214017 libdispatch.dylib              0x19aeef34c _dispatch_worker_thread3 + 11218 libsystem_pthread.dylib        0x19b0f5478 _pthread_wqthread + 109219 libsystem_pthread.dylib        0x19b0f5028 start_wqthread + 4

另一个:

Thread : Crashed: com.parse.sqlite.db.queue0  libsqlite3.dylib               0x195959bb8 (null) + 319361  libsqlite3.dylib               0x195959bb4 (null) + 319322  libsqlite3.dylib               0x195952108 sqlite3_step + 5283  Parse                          0x100e7e330 -[PFsqliteDatabaseResult step] (PFsqliteDatabaseResult.m:39)4  Parse                          0x100e7e2ec -[PFsqliteDatabaseResult next] (PFsqliteDatabaseResult.m:35)5  Parse                          0x100e59ce4 __52-[PFOfflinestore _getPointerasyncWithUUID:database:]_block_invoke (PFOfflinestore.m:897)6  Bolts                          0x100727748 __62-[BFTask continueWithExecutor:successBlock:cancellationToken:]_block_invoke (BFTask.m:410)7  Bolts                          0x100726fec __55-[BFTask continueWithExecutor:block:cancellationToken:]_block_invoke_2 (BFTask.m:336)8  Bolts                          0x100724d5c __29+[BFExecutor defaultExecutor]_block_invoke_2 (BFExecutor.m:45)9  Bolts                          0x100725270 -[BFExecutor execute:] (BFExecutor.m:109)10 Bolts                          0x100726f64 __55-[BFTask continueWithExecutor:block:cancellationToken:]_block_invoke (BFTask.m:328)11 Bolts                          0x100726b70 -[BFTask runcontinuations] (BFTask.m:308)12 Bolts                          0x1007263e0 -[BFTask trySetResult:] (BFTask.m:200)13 Bolts                          0x100726314 -[BFTask setResult:] (BFTask.m:187)14 Bolts                          0x100727e4c -[BFtaskcompletionsource setResult:] (BFtaskcompletionsource.m:52)15 Bolts                          0x1007272ac __55-[BFTask continueWithExecutor:block:cancellationToken:]_block_invoke_3 (BFTask.m:352)16 Bolts                          0x1007270a0 __55-[BFTask continueWithExecutor:block:cancellationToken:]_block_invoke_2 (BFTask.m:360)17 libdispatch.dylib              0x195c313ac _dispatch_call_block_and_release + 2418 libdispatch.dylib              0x195c3136c _dispatch_clIEnt_callout + 1619 libdispatch.dylib              0x195c3b4c0 _dispatch_queue_drain + 121620 libdispatch.dylib              0x195c34474 _dispatch_queue_invoke + 13221 libdispatch.dylib              0x195c3d224 _dispatch_root_queue_drain + 66422 libdispatch.dylib              0x195c3e75c _dispatch_worker_thread3 + 10823 libsystem_pthread.dylib        0x195e0d2e4 _pthread_wqthread + 81624 libsystem_pthread.dylib        0x195e0cfa8 start_wqthread + 4
解决方法 更新解析sdk到最新,并避免使用cocapods尝试手动安装它. Cocca pods像Js的凉亭一样稳定. 总结

以上是内存溢出为你收集整理的Parse.com iOS SDK崩溃:PFSQLiteDatabase.m第178行 – [PFSQLiteDatabase _executeQueryAsync:withArgumentsInArray:cachingEnabled:]全部内容,希望文章能够帮你解决Parse.com iOS SDK崩溃:PFSQLiteDatabase.m第178行 – [PFSQLiteDatabase _executeQueryAsync:withArgumentsInArray:cachingEnabled:]所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1003781.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-22
下一篇 2022-05-22

发表评论

登录后才能评论

评论列表(0条)

保存