Я использую Outh для добавления Twitter в мое приложение.
Ниже представлены два UIViewController для входа в систему и публикации твитов соответственно.
1.SettingViewcontroller 2.DetailViewcontroller
Этокод для входа в твиттер с помощью SettingViewcontroller.
- (void)switchAction1:(UISwitch*)sender
{
if (sender.on)
{
if(_engine)
return;
_engine = [[SA_OAuthTwitterEngine alloc] initOAuthWithDelegate:self]
_engine.consumerKey = @"###";
_engine.consumerSecret = @"###";
UIViewController *controller =[SA_OAuthTwitterController controllerToEnterCredentialsWithTwitterEngine: _engine delegate: self];
DetailViewcontroller *detobj=[[DetailViewcontroller alloc]init];
detobj.detail_enginne=_engine;
[detobj release];
[self presentModalViewController: controller animated: YES];
}
if(!sender.on)
{
NSLog(@"Logout section");
}
}
И в DetailViewcontroller при нажатии кнопки листа действия будет выполнен следующий код.
if ([detail_enginne isAuthorized])
{
NSLog(@"engine availble");
NSString *str=@"hai twitterrrrrrrrrrr";
[detail_enginne sendUpdate:str];
}
else{
NSLog(@"Engine not availabele");
}
}
Здесь я не могу отправить твиты из DetailViewcontroller.
Как этого добиться?
Обновлено
Iam Loding Подробный вид с использованием ViewDidload, а не Nib.
Detailview.m
это метод actionSheet для отправки данных в Facebook и Twitter из DetailView
-(void)actionSheet:(UIActionSheet *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex {
// For facebook
if(buttonIndex == 0)
{
if ([session resume]) {
[self postToWall];
NSLog(@"Post to wall");
}
else {
self.loginDialog = nil;
_loginDialog = [[FBLoginDialog alloc] init];
[_loginDialog show];
}
}
// For twittter
if(buttonIndex == 1)
{
if(detail_enginne!=nil)
{
NSString *str=@" hai twitter ";
[detail_enginne sendUpdate:str];
}
else
{
NSLog(@"Not availabele");
}
}
if(buttonIndex == 2)
{
NSLog(@"cancel button ");
}
}