이쯤 해서 실행하시면... 처음에 인증하고 메서드 두번째 호출부터 트윗이 되긴 되는데 계정 정보 저장이 안 되는 고로 앱을 껐다가 다시 켜면 새로 인증을 하게 되는 번거로움이 있습니다. 여기서 꼼수를 좀 씁시다.
맨 아래쪽(4번째) 링크로 가신 다음 스크롤 쭉 내리시면 맨 밑에 소스파일을 다운받을 수 있는 링크가 있습니다. 거기서 tweet.h, tweet.m 파일만 가져와서 프로젝트에 추가합니다.
그리고... AppDelegate.h 에 한 줄 추가합니다.
NSMutableArray *tweets;
AppDelegate.m 에서는 아까 집어넣은 Tweet.h 임포트 하시고 아래 코드를 와장창 때려넣습니다.
고백컨데 다른 부분도 그렇지만 특히 이 부분은 어디서 무슨 기능을 하는지 잘 모른 상태에서 퍼와서 집어넣은 것입니다. 보시면서 이건 필요없겠다 싶은 부분은 과감히 지워주세요.
#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);
tweets = [[NSMutableArray alloc] init];
//[self updateStream:nil];
}
- (void) OAuthTwitterControllerFailed: (SA_OAuthTwitterController *) controller {
NSLog(@"Authentication Failure");
}
- (void) OAuthTwitterControllerCanceled: (SA_OAuthTwitterController *) controller {
NSLog(@"Authentication Canceled");
}
#pragma mark MGTwitterEngineDelegate Methods
- (void)requestSucceeded:(NSString *)connectionIdentifier {
NSLog(@"Request Suceeded: %@", connectionIdentifier);
}
- (void)receivedObject:(NSDictionary *)dictionary forRequest:(NSString *)connectionIdentifier {
NSLog(@"Recieved Object: %@", dictionary);
}
- (void)directMessagesReceived:(NSArray *)messages forRequest:(NSString *)connectionIdentifier {
NSLog(@"Direct Messages Received: %@", messages);
}
- (void)userInfoReceived:(NSArray *)userInfo forRequest:(NSString *)connectionIdentifier {
NSLog(@"User Info Received: %@", userInfo);
}
- (void)miscInfoReceived:(NSArray *)miscInfo forRequest:(NSString *)connectionIdentifier {
NSLog(@"Misc Info Received: %@", miscInfo);
}