Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/97.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Parse.com iOS SDK崩溃:PFSQLiteDatabase.m第178行-[PFSQLiteDatabase\u executeQueryAsync:withArgumentsInArray:cachingEnabled:]_Ios_Swift_Parse Platform_Crash_Local Datastore - Fatal编程技术网

Parse.com iOS SDK崩溃:PFSQLiteDatabase.m第178行-[PFSQLiteDatabase\u executeQueryAsync:withArgumentsInArray:cachingEnabled:]

Parse.com iOS SDK崩溃:PFSQLiteDatabase.m第178行-[PFSQLiteDatabase\u executeQueryAsync:withArgumentsInArray:cachingEnabled:],ios,swift,parse-platform,crash,local-datastore,Ios,Swift,Parse Platform,Crash,Local Datastore,我有一个正在生产的应用程序,它使用Parse.com iOS SDK和本地数据存储([PFObject pin]) 正如我们在崩溃线程的Crashlytics报告中看到的,我们的一些用户在生产中遇到了这种崩溃: Thread : Crashed: com.parse.sqlite.db.queue 0 libsqlite3.dylib 0x000000019b269f58 (null) + 9096 1 libsqlite3.dylib

我有一个正在生产的应用程序,它使用Parse.com iOS SDK和本地数据存储(
[PFObject pin]

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

Thread : Crashed: com.parse.sqlite.db.queue
0  libsqlite3.dylib               0x000000019b269f58 (null) + 9096
1  libsqlite3.dylib               0x000000019b25315c (null) + 85124
2  libsqlite3.dylib               0x000000019b25315c (null) + 85124
3  libsqlite3.dylib               0x000000019b21bd68 (null) + 3028
4  libsqlite3.dylib               0x000000019b2530c0 (null) + 84968
5  libsqlite3.dylib               0x000000019b245848 (null) + 29552
6  libsqlite3.dylib               0x000000019b225794 (null) + 13080
7  libsqlite3.dylib               0x000000019b224634 (null) + 8632
8  libsqlite3.dylib               0x000000019b223734 (null) + 4792
9  libsqlite3.dylib               0x000000019b222fa4 (null) + 2856
10 libsqlite3.dylib               0x000000019b222c5c (null) + 2016
11 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 + 24
14 libdispatch.dylib              0x000000019b545770 _dispatch_client_callout + 16
15 libdispatch.dylib              0x000000019b55175c _dispatch_queue_drain + 864
16 libdispatch.dylib              0x000000019b549274 _dispatch_queue_invoke + 464
17 libdispatch.dylib              0x000000019b545770 _dispatch_client_callout + 16
18 libdispatch.dylib              0x000000019b553bb0 _dispatch_root_queue_drain + 2140
19 libdispatch.dylib              0x000000019b55334c _dispatch_worker_thread3 + 112
20 libsystem_pthread.dylib        0x000000019b759478 _pthread_wqthread + 1092
我的假设是,当DB模式在应用程序升级之间发生变化时,就会发生这种情况,但这几乎是纯粹的猜测

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

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

更新:2015年11月23日 在应用程序启动时,Parse SDK(1.9.1)一直存在此问题。似乎当Parse.com后端上的数据模型发生更改并且与固定对象的数据模型不同时,应用程序总是崩溃一次。下次运行时,一切正常

可能的复制步骤(不是100%确定):

  • 从Parse.com加载对象
  • 局部固定对象
  • 完全关闭应用程序
  • 通过添加新列更新Parse.com中的模型
  • 启动应用程序
  • 重复步骤1和2
  • 崩溃
  • 再次启动应用程序
  • 重复步骤1和2
  • 一切正常
  • 下面是另一个可能有助于调试问题的崩溃报告:

    Thread : Crashed: com.parse.sqlite.db.queue
    0  libsqlite3.dylib               0x19ac05f58 (null) + 9096
    1  libsqlite3.dylib               0x19abdc020 (null) + 6984
    2  libsqlite3.dylib               0x19abdc020 (null) + 6984
    3  libsqlite3.dylib               0x19abdbe2c (null) + 6484
    4  libsqlite3.dylib               0x19abc1cc0 (null) + 14404
    5  libsqlite3.dylib               0x19abc0634 (null) + 8632
    6  libsqlite3.dylib               0x19abbf734 (null) + 4792
    7  libsqlite3.dylib               0x19abbefa4 (null) + 2856
    8  libsqlite3.dylib               0x19abbec5c (null) + 2016
    9  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 + 24
    12 libdispatch.dylib              0x19aee1770 _dispatch_client_callout + 16
    13 libdispatch.dylib              0x19aeed75c _dispatch_queue_drain + 864
    14 libdispatch.dylib              0x19aee5274 _dispatch_queue_invoke + 464
    15 libdispatch.dylib              0x19aee1770 _dispatch_client_callout + 16
    16 libdispatch.dylib              0x19aeefbb0 _dispatch_root_queue_drain + 2140
    17 libdispatch.dylib              0x19aeef34c _dispatch_worker_thread3 + 112
    18 libsystem_pthread.dylib        0x19b0f5478 _pthread_wqthread + 1092
    19 libsystem_pthread.dylib        0x19b0f5028 start_wqthread + 4
    
    另一个:

    Thread : Crashed: com.parse.sqlite.db.queue
    0  libsqlite3.dylib               0x195959bb8 (null) + 31936
    1  libsqlite3.dylib               0x195959bb4 (null) + 31932
    2  libsqlite3.dylib               0x195952108 sqlite3_step + 528
    3  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 + 24
    18 libdispatch.dylib              0x195c3136c _dispatch_client_callout + 16
    19 libdispatch.dylib              0x195c3b4c0 _dispatch_queue_drain + 1216
    20 libdispatch.dylib              0x195c34474 _dispatch_queue_invoke + 132
    21 libdispatch.dylib              0x195c3d224 _dispatch_root_queue_drain + 664
    22 libdispatch.dylib              0x195c3e75c _dispatch_worker_thread3 + 108
    23 libsystem_pthread.dylib        0x195e0d2e4 _pthread_wqthread + 816
    24 libsystem_pthread.dylib        0x195e0cfa8 start_wqthread + 4
    

    将parse sdk更新为最新版本,并避免使用cocapods尝试手动安装。Cocca豆荚与bower for js一样稳定。

    也看到了这一崩溃,我也使用了固定缓存。还没有主意。我也有同样的问题。。。。使用椰子荚!我不知道可可荚会有什么关系。当Parse.com模式更改时,崩溃发生在运行时。