调用 [PFFFacebookUtils initializeFacebook] 时解析崩溃 - semaphore_wait_trap
Parse crash when calling [PFFacebookUtils initializeFacebook] - semaphore_wait_trap
自从最新的 Parse 版本 (v1.6.3) 以来,我的应用程序在启动时卡住了,它命中的最后一个断点是 [PFFacebookUtils initializeFacebook];
如果我按下暂停并查看调试器,堆栈跟踪看起来像这样:
我按照建议打电话给 [PFFacebookUtils initializeFacebook]
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
。
通过谷歌搜索 semaphore_wait_trap 问题,它似乎与 Core Data 中的后台线程冲突(?)有关。但我已经尝试注释掉我所有的后台 Parse 查询,但它仍然会发生。
我尝试更新 pods(顺便说一下,这发生在更新之前)。我还可以 运行 从干净安装的应用程序,直到我登录到 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)
不确定根本问题,但希望对您有所帮助。
似乎已通过解析 1.7.2 修复
根据 v1.7.2 — 2015 年 4 月 27 日
New: Local Data Sharing for Extensions and WatchKit.
Improved nullability annotations for ParseFacebookUtils.
Fixed: logOutInBackground with block callback not called on main thread.
Fixed: Potential compilation error with using imports for PFSubclassing.h.
Fixed: Not persistent currentUser if saving automatic user via saveEventually.
Fixed: Rare deadlock scenario with using ParseFacebookUtils and currentUser.
Fixed: Rare issue with pinning multiple objects in a row to the same pin.
Fixed: Rare scenario when user could be not linked with Facebook.
Improved performance and reliability of Local Datastore.
Performance improvements.
Other small bug fixes.
自从最新的 Parse 版本 (v1.6.3) 以来,我的应用程序在启动时卡住了,它命中的最后一个断点是 [PFFacebookUtils initializeFacebook];
如果我按下暂停并查看调试器,堆栈跟踪看起来像这样:
我按照建议打电话给 [PFFacebookUtils initializeFacebook]
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
。
通过谷歌搜索 semaphore_wait_trap 问题,它似乎与 Core Data 中的后台线程冲突(?)有关。但我已经尝试注释掉我所有的后台 Parse 查询,但它仍然会发生。
我尝试更新 pods(顺便说一下,这发生在更新之前)。我还可以 运行 从干净安装的应用程序,直到我登录到 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)
不确定根本问题,但希望对您有所帮助。
似乎已通过解析 1.7.2 修复
根据 v1.7.2 — 2015 年 4 月 27 日
New: Local Data Sharing for Extensions and WatchKit. Improved nullability annotations for ParseFacebookUtils.
Fixed: logOutInBackground with block callback not called on main thread. Fixed: Potential compilation error with using imports for PFSubclassing.h.
Fixed: Not persistent currentUser if saving automatic user via saveEventually.
Fixed: Rare deadlock scenario with using ParseFacebookUtils and currentUser.
Fixed: Rare issue with pinning multiple objects in a row to the same pin.
Fixed: Rare scenario when user could be not linked with Facebook.
Improved performance and reliability of Local Datastore. Performance improvements.
Other small bug fixes.