ios Parse.com - След активиране на локалното хранилище за данни PFFacebookUtils loginWithPermission блокът никога не се извиква

След активиране на (новото) локално хранилище за данни в Parse версия 1.6.1 за iOS блокът в PFFacebookUtils loginWithPermission никога не се извиква.

[Parse enableLocalDatastore];
[Parse setApplicationId:@"***" clientKey:@"***"];
[PFFacebookUtils logInWithPermissions:permissionsArray block:^(PFUser *user, NSError *error) {
   // Gets never called
}];

При премахване на [Parse enableLocalDatastore] блокът се извиква.

// [Parse enableLocalDatastore];
[Parse setApplicationId:@"***" clientKey:@"***"];
[PFFacebookUtils logInWithPermissions:permissionsArray block:^(PFUser *user, NSError *error) {
   // Gets called as in previous versions
}];

Разполагам и с методите за превключване на приложения, за да поддържам Facebook Single Sign-On

- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation {
  return [FBAppCall handleOpenURL:url sourceApplication:sourceApplication withSession:[PFFacebookUtils session]];
}

Проверих документацията и не можах да намеря никаква помощ. Пропуснах ли нещо, когато активирах локалното хранилище за данни?


person xshake    schedule 02.01.2015    source източник
comment
Това е грешка, която е изпратена в различни форми на developers.facebook.com/bugs /custom/?tag_ids=475720899235524 и по-конкретно тук developers.facebook.com/bugs/ 704471719668983. Може да се абонирате там, чакам отговор и от ФБ.   -  person abinop    schedule 05.01.2015
comment
О, защо са толкова невнимателни.   -  person fatuhoku    schedule 27.01.2015


Отговори (3)


Проблемът е коригиран в Parse 1.6.2

person abinop    schedule 24.01.2015

Може би локалното хранилище за данни изпитва изключение. Опитайте се да използвате

[[PFFacebookUtils loginWithPermissionsInBackground: perms] continueWithBlock: ^ id (BFTask * task) {
// breakpoint
}];

и проверете с lldb задачата, за да видите дали task.exception е нула.

Имам подобен проблем: мога да вляза в приложението си с гореспоменатия метод, но след това, ако изляза, когато се опитам да вляза отново, съм заседнал и task.exception казва:

Опит за промяна на objectId на такъв, който вече е известен на OfflineStore.

person Lorenzo Bevilacqua    schedule 02.01.2015
comment
[PFFacebookUtils loginWithPermissionsInBackground: perms] continueWithBlock изглежда работи за влизане, но след първото стартиране получавам warnBlockingOperationOnMainThread, което е причинено от вътрешно извикване на [PFOfflineStore _initialzeTables]. - person xshake; 02.01.2015
comment
Имам и някои вътрешни извиквания на Parse в основната нишка. Предполагам, че в момента това е нормалното поведение на API. След това обаждане приложението ви работи ли по предназначение? - person Lorenzo Bevilacqua; 03.01.2015
comment
Използването на [PFFacebookUtils loginWithPermissionsInBackground: perms] continueWithBlock работи добре и се извиква методът за блокиране. Премахнах също извикването от AppDelegate в метода didLoad на ViewController и warnBlockingOperationOnMainThread вече го няма. - person xshake; 03.01.2015
comment
Получавах същата грешка, която можех да разреша само като не активирах локалното хранилище за данни - stackoverflow.com/a/27805495/538993 - person David; 06.01.2015

Това може да е свързано: https://developers.facebook.com/bugs/994229510592686/< br> Това е грешка и ще бъде коригирана в следващото издание на Parse SDK.

person amudi    schedule 16.01.2015