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

时间:2015-02-24 16:28:26

标签: ios objective-c parse-platform semaphore pfuser

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

enter image description here

我按照建议调用[PFFacebookUtils initializeFacebook] - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions

从谷歌搜索semaphore_wait_trap问题,它似乎与核心数据中的背景线程(?)发生冲突有关。但我已经尝试评论我的所有后台Parse查询,但它仍然会发生。

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

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

2 个答案:

答案 0 :(得分: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)

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

答案 1 :(得分:1)

似乎用解析1.7.2修复

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

  

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