7

由于最新的 Parse 版本 (v1.6.3) 我的应用程序在启动时卡住了,它命中的最后一个断点是[PFFacebookUtils initializeFacebook];如果我点击暂停并查看调试器,堆栈跟踪如下所示:

在此处输入图像描述

我正在打电话[PFFacebookUtils initializeFacebook]——(BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions按照建议。

通过谷歌搜索 semaphore_wait_trap 问题,它似乎与 Core Data 中的后台线程冲突(?)有关。但是我已经尝试注释掉我所有的后台 Parse 查询,它仍然会发生。

我尝试更新 pod(顺便说一句,这发生在更新之前)。我也可以从全新安装运行该应用程序,直到我登录 Facebook,此时每次我尝试启动时都会发生崩溃。查询时,PFUser 似乎返回正常。我还清除了我的整个数据库,但没有任何区别。

有谁知道可能会发生什么?

4

2 回答 2

8

我看到了同样的问题,发现改变这个初始化序列的顺序(我正在使用 swift)让我过去了(特别是注释掉本地数据存储也会解除阻塞):

这被 semaphore_wait_trap 捕获:

// Parse integration initialization
Parse.enableLocalDatastore()
Parse.setApplicationId("<my app id>", clientKey: "<my client key>")
PFAnalytics.trackAppOpenedWithLaunchOptions(launchOptions)
PFFacebookUtils.initializeFacebook()

这不会:

// Parse integration initialization
Parse.enableLocalDatastore()
Parse.setApplicationId("<my app id>", clientKey: "<my client key>")
PFFacebookUtils.initializeFacebook()
PFAnalytics.trackAppOpenedWithLaunchOptions(launchOptions)

不确定根本问题,但希望它有所帮助。

于 2015-02-25T15:35:31.317 回答
1

似乎已通过解析 1.7.2 修复

根据 v1.7.2 — 2015 年 4 月 27 日

新:扩展和 WatchKit 的本地数据共享。改进了 ParseFacebookUtils 的可空性注释。
修正:logOutInBackground 块回调未在主线程上调用。已修复:对 PFSubclassing.h 使用导入时可能出现编译错误。
固定:如果通过 saveEventually 保存自动用户,则不是持久的 currentUser。
已修复:使用 ParseFacebookUtils 和 currentUser 的罕见死锁场景。
已修复:将多个对象连续固定到同一个引脚的罕见问题。
已修复:用户无法与 Facebook 链接的罕见情况。
改进了本地数据存储的性能和可靠性。性能改进。
其他小错误修复。

于 2015-04-28T12:31:58.083 回答