2016-02-03 3 views
0

Недавно я удалил все множественные дубликаты файлов с моего mac и это испортило мой проект xcode. Мне пришлось снова импортировать все рамки твиттера и пришлось удалить скрипт запуска Twitter для моего приложения. До моего беспорядка все работало нормально.Ошибка входа в Twitter Parse.com iOS

Теперь каждый раз, когда я войти в систему в твиттере с эта ошибка возникает TWTRLogInButton was created with no completionBlock set

мой код, который работал отлично:

- (IBAction)twlogin:(TWTRLogInButton *)sender { 

     [PFTwitterUtils logInWithBlock:^(PFUser *user, NSError *error) { 
     if (error) { 
     } 
     else { 
      PF_Twitter *twitter = [PFTwitterUtils twitter]; 
      PFUser *user = [PFUser currentUser]; 
      NSString *twitterScreenName = twitter.screenName; 
      [[PFUser currentUser] setObject:twitterScreenName forKey:@"username"]; 
      [user saveInBackgroundWithBlock:^(BOOL succeeded, NSError *error) 
      { 
       if (error) 
       { 
        UIAlertView *alertVeiw = [[UIAlertView alloc] initWithTitle:@"Sorry" message:[error.userInfo objectForKey:@"error"] delegate:nil cancelButtonTitle:nil otherButtonTitles:@"OK", nil]; 
        [alertVeiw show]; 
       } 

       else { 
        [[PFInstallation currentInstallation] setObject:[PFUser currentUser].objectId forKey:@"userId"]; 
        [[PFInstallation currentInstallation] saveInBackground]; 

        [self.navigationController popToRootViewControllerAnimated:NO]; 
       } 
      }]; 

      [self.navigationController popToRootViewControllerAnimated:NO]; 
     } 
    }]; 
} 

Пожалуйста, помогите мне исправить мою проблему.

+0

Это своего рода не по теме, но и актуально. Просто хочу проверить, что вы знаете, что Parse закрывается, и все, что вы пишете на заднем конце Parse, перестанет работать чуть меньше года. – Fogmeister

+0

Кроме того, вы используете кнопку неправильно. Он управляет логином для самого Twitter. Затем вы можете ответить на завершение и войти в раздел «Анализ», если хотите. Однако вы не должны использовать кнопку для входа в Parse. – Fogmeister

ответ

0

Возможно, вы определяете кнопку в раскадровке или файле xib, а программный код completionBlock должен быть установлен программно. Если вы определяете его в раскадровке и своем viewDidLoad, приложение, вероятно, представляет кнопку из раскадровки. Так, в viewDidLoad, определить его:

self.myTwitterLoginButton.logInCompletion = ^(TWTRSession *session, NSError *error) { 
    /* your code */ 
}; 

Edit:

Кроме того, не подключить событие twlogin действия в раскадровке. Ваше текущее действие закончится в блоке завершения. Подключите кнопку до свойства IBOutlet и не заново создайте ее. В моем коде выше IBOutlet относится к myTwitterLoginButton.

+0

Не повезло до сих пор не удается войти в систему – Joey121

+0

У вас есть это подключено в раскадровку к IBOutlet? Вы можете ссылаться на две разные кнопки. –

+0

да все подключено, но я удалил файлы с моего mac и должен был добавить все фреймворки обратно, и на них ссылаются в другом файле, поэтому скрипт для скрипта не имеет ошибки – Joey121

Смежные вопросы