У меня есть этот код в моем файле реализации SocialViewController.
// Share to Twitter Start
- (IBAction)sharetoTwitter:(id)sender
{
if(_engine) return;
_engine = [[SA_OAuthTwitterEngine alloc] initOAuthWithDelegate:self];
_engine.consumerKey = kOAuthConsumerKey;
_engine.consumerSecret = kOAuthConsumerSecret;
if ([self isLoggedInTwitter])
{
[_engine sendUpdate:@"Test"];
UIAlertView *alertTwitterSuccess = [[UIAlertView alloc] initWithTitle: @"Success" message: @"Your tweet has been posted." delegate: nil cancelButtonTitle: @"OK" otherButtonTitles: nil];
[alertTwitterSuccess show];
[alertTwitterSuccess release];
}
else
{
UIViewController *controller = [SA_OAuthTwitterController controllerToEnterCredentialsWithTwitterEngine:_engine delegate:self];
if (controller)
{
[self presentModalViewController:controller animated:YES];
}
}
}
#pragma mark SA_OAuthTwitterEngineDelegate
- (void) storeCachedTwitterOAuthData:(NSString *)data forUsername:(NSString *)username
{
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
[defaults setObject: data forKey:@"authData"];
[defaults synchronize];
}
- (NSString *) cachedTwitterOAuthDataForUsername:(NSString *)username
{
return [[NSUserDefaults standardUserDefaults] objectForKey:@"authData"];
}
#pragma mark SA_OAuthTwitterController Delegate
- (void) OAuthTwitterController:(SA_OAuthTwitterController *)controller authenticatedWithUsername:(NSString *)username
{
NSLog(@"Authenticated with user %@", username);
}
- (void) OAuthTwitterControllerFailed:(SA_OAuthTwitterController *)controller
{
NSLog(@"Authentication Failure");
}
- (void) OAuthTwitterControllerCanceled:(SA_OAuthTwitterController *)controller
{
NSLog(@"Authentication Cancelled");
}
// Share to Twitter End
По сути, у меня есть одна кнопка, позволяющая пользователю публиковать твиты в моем приложении, и в рамках этого IBAction я сначала регистрируюсь в пользователе, а затем, получив разрешение, хочу, чтобы пользователь нажал кнопкуснова и затем сообщите ему / ей, что твит будет опубликован.
Как я могу это сделать?