调用[PFFacebookUtils initializeFacebook]时解析崩溃 - semaphore_wait_trap

Smi*_*key 7 semaphore objective-c ios parse-platform pfuser

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

在此输入图像描述

我正在打电话[PFFacebookUtils initializeFacebook]- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions正如所建议的那样.

通过Google搜索semaphore_wait_trap问题,它似乎与Core Data中的后台线程(?)发生冲突有关.但我已经尝试评论我的所有后台Parse查询,它仍然会发生.

我尝试更新pods(这是在更新之前发生的,偶然).我也可以从干净安装运行应用程序,直到我登录到Facebook,此时每次尝试启动时都会发生崩溃.查询时PFUser似乎返回正常.我也清除了我的整个数据库,但它没有什么区别.

任何人都知道可能会发生什么?

小智 8

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

这会被semaphore_wait_trap捕获:

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

这不是:

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

不确定潜在的问题,但希望它有所帮助.