2010-08-12 3 views
1

GData/YouTubeAPI를 내 프로젝트에 통합하려고하는데 조금 갇혀 있습니다. 이 게시물에 주어진 코드를 사용 :@selector()가 작동하지 않습니까? youtube API GData issues

Any examples/tutorials on using Google GData API - Youtube on iphone?

내 문제가 기능하는 '요청 : finishedWithFeed : 오류'가의 GData 서비스가 인터 웹 떨어져 데이터를 잡아 완료되면 호출되지 않습니다.

내 프로그램이 컴파일되고 실행되며 런타임 오류가 발생하지 않습니다. 나는 또한 확인하고 feedURL은 유효한 URL을 반환합니다. 나는 이것을 디버깅했고 'service'는 값을 반환 할 수있다.

GDataServiceGoogleYouTube *service = [self youTubeService]; 

// feed id for user uploads 
NSString *uploadsID = kGDataYouTubeUserFeedIDUploads; 
// construct the feed url 
NSURL *feedURL = [GDataServiceGoogleYouTube youTubeURLForUserID:USER_NAME userFeedID:uploadsID]; 

// make API call 

[service fetchFeedWithURL:feedURL delegate:self didFinishSelector:@selector(request:finishedWithFeed:error:)]; 

이 내가

- (void)request:(GDataServiceTicket *)ticket finishedWithFeed:(GDataFeedBase *)aFeed error:(NSError *)error; 

솔루션을 게시 한 그것은 다른 코드와 같은 객체에있는 것, 나는 그것의 완료되면 전화 서비스를 얻기 위해 노력하고있어 함수의 헤더입니다 - -

주 스레드에서의 실행 확인 -

-(id)initWithVideosArrayURLString:(NSString*)url { 
    if (self = [super init]) { 
     NSLog(@"loading"); 
     [self performSelectorOnMainThread:@selector(initMainThreadWithURLString:)  withObject:url waitUntilDone:NO]; 

    } 
    return self; 
} 

-(void)initMainThreadWithURLString:(NSString*)url { 
    GDataServiceGoogleYouTube *service = [self youTubeService]; 

    NSString *uploadsID = kGDataYouTubeUserFeedIDUploads; 
    NSURL *feedURL = [GDataServiceGoogleYouTube youTubeURLForUserID:@"annoyingorange" userFeedID:uploadsID]; 
    [service fetchFeedWithURL:feedURL delegate:self didFinishSelector:@selector(serviceTicket:finishedWithFeed:error:)]; 
    NSLog(@"sent"); 
} 

- (void)serviceTicket:(GDataServiceTicket *)ticket finishedWithFeed:(GDataFeedBase *)aFeed error:(NSError *)error { 
     self.feed = (GDataFeedYouTubeVideo *)aFeed; 

    NSLog(@"success."); 
} 

답변

2

은 주 스레드에서 코드 및 복귀인가 가져 오기를 시작한 후 실행 루프? 콜백은 앱의 실행 루프가 회전중인 경우에만 발생합니다.