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

我正在按照建议的方式在[PFFacebookUtils initializeFacebook]中调用(BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions

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

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

有人知道会发生什么吗?

最佳答案

我看到了同样的问题,发现更改此初始化序列的顺序(我使用的是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)

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

07-27 14:39