過去幾天我一直試圖讓Twitter的OAuth工作在我的iPhone應用程序上,而且我不能爲我的生活弄清楚爲什麼我得到這個錯誤。我已經改變了一段時間以來的方式,但仍然一無所獲。所以我轉而希望弄清楚。「無法識別的選擇器」錯誤。無法弄清楚
本教程是linked here。下載應用程序並運行它非常有效。它不適合我。
這是我得到的錯誤 -
2010-07-25 20:04:52.224 AppTest[4620:207] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[OAToken setVerifier:]: unrecognized selector sent to instance 0x6c2acc0'
誰能告訴我什麼,我做錯了什麼?我使用幾乎相同的代碼。
編輯:下面的代碼,我使用setVerifier:
- (IBAction)finishSetup:(id)sender {
NSString *thePin = [[NSString alloc] initWithString:pinText.text];
NSLog(@"%@", thePin);
if([thePin length] == 7 && [[NSScanner scannerWithString:thePin] scanInt:NULL]) {
loadingView.hidden = NO;
[pinText resignFirstResponder];
OAConsumer *consumer = [[OAConsumer alloc] initWithKey:consumer_key secret:consumer_secret];
OADataFetcher *fetcher = [[OADataFetcher alloc] init];
NSURL *url = [NSURL URLWithString:@"https://api.twitter.com/oauth/access_token"];
[accessToken setVerifier:pinText.text];
NSLog(@"Using PIN %@", accessToken.verifier);
OAMutableURLRequest *request = [[OAMutableURLRequest alloc] initWithURL:url consumer:consumer token:accessToken realm:nil signatureProvider:nil];
[request setHTTPMethod:@"POST"];
NSLog(@"Getting access token...");
[fetcher fetchDataWithRequest:request delegate:self didFinishSelector:@selector(accessTokenTicket:didFinishWithData:) didFailSelector:@selector(accessTokenTicket:didFailWithError:)];
} else {
loadingView.hidden = YES;
error_alert = [[UIAlertView alloc] initWithTitle:@"TestApp" message:@"The PIN you have entered is invalid. Please try again." delegate:self cancelButtonTitle:@"Cancel Login" otherButtonTitles:@"Try again", nil];
[error_alert show];
[error_alert release];
}
[thePin release];
}
「幾乎使用相同的代碼」與「使用相同的代碼」不一樣。如果不同,請將其發佈在您的問題中。 – 2010-07-26 00:23:19
這是相同的代碼,我的道歉。唯一的區別是該教程不適用於iPhone,而是使用Objective-C和Cocoa。 – 2010-07-26 00:31:51
您應該在您使用' - [OAToken setVerifier:]' – kubi 2010-07-26 00:35:24