2011-10-31 3 views
3

Wirh SDK 4.2 및 iOS5로 나 혼란을 일으켰습니다. 새로운 탭바 기반 앱에는 여러 개의보기 컨트롤러가 있습니다. 나는 모든 iAd 델리게이트 방법이 존재하는지주의 깊게 점검하고 다시 점검했다. 사실, 나는 이것을 위해 iAdSuite 예제의 도움을 받았다.iAd BannerViewDelegate - 콘솔에 경고가 출력됩니다.

테스트 광고를 표시하지 않는 viewController에서 잠시 동안 시뮬레이터에 앱이 계속 실행되었습니다. 콘솔에 다음 메시지 (다중)가 기록 된 것을 보았습니다.

2011-10-30 18 : 45 : 07.534 StopAlert [29299 : 207] ADBannerView : 처리되지 않은 오류 (delegate 또는 delegate가 didFailToReceiveAdWithError를 구현하지 않음 :) : Error Domain = ADErrorDomain Code = 3 "작업을 수행 할 수 없습니다. 완료 됨. 광고 인벤토리를 사용할 수 없음 "UserInfo = 0x795d7d0 {ADInternalErrorCode = 3, NSLocalizedFailureReason = 광고 인벤토리를 사용할 수 없음}

"대리인이나 위임자가 구현하지 않습니다 ... "라는 메시지가 표시됩니다. 파일에는 위임 메소드가 있습니다. 여기에 있습니다 :

- (void)bannerViewDidLoadAd:(ADBannerView *)banner { 
    [self layoutForCurrentOrientation:YES]; 
} 

- (void)bannerView:(ADBannerView *)banner didFailToReceiveAdWithError:(NSError *)error { 
[self layoutForCurrentOrientation:YES]; 
} 

- (BOOL)bannerViewActionShouldBegin:(ADBannerView *)banner willLeaveApplication:(BOOL)willLeave { 
return YES; 
} 

- (void)bannerViewActionDidFinish:(ADBannerView *)banner { 
} 

나는 뭔가를 놓치고 있습니까 ?? 나는 그들 중 4 명 모두에게 브레이크 포인트를 설정했다. 배너의 위임자는 "self"로 설정되고 .h 파일의 선언에는 ADBannerViewDelegate도 있습니다.

나는 혼란 스럽습니다. 누군가가 나를 지나갈 수 있도록 도울 수 있습니까?

미리 감사드립니다.

답변

2

검색을 통해이 질문을하는 사람들을 위해 iAdSuite 예제 코드 (여러보기에서 광고 배너를 공유하는 데 대한 기술 노트)에서 나를 잊어 버렸습니다. 기술 노트 예제에서는 applicationDidFinishLaunching에 adBanner를 설정합니다. iAdSuite의 경우 첫 번째보기가 adBanner를 제시하지 않았기 때문에 (여기에 키커가 있음) iAdSuite에서 작동했습니다. 그래서 미묘한 문제? 샘? 첫 번째보기에서 adBanner를 표시하려는 응용 프로그램을 실행 한 경우 응용 프로그램 대리자가 applicationDidFinishLaunching 메시지를 받기 전에보기가 이미로드 된 것입니다. 제 경우에는 adBanner 셋업 코드를 앱 델리게이트에서 옮겨 내 초기 뷰 컨트롤러의 viewWillAppear에 넣었습니다. 그리고 adBanner가 존재하지 않으면 초기 설정 만 수행합니다 (흐름이 초기보기 컨트롤러로 반환되는 경우).

+0

빙고 - 이것은 내 앱에있는 것과 동일한 문제입니다. 감사... – Sam