이것은 멍청한 질문처럼 보입니다. 그러나 애플의 설명서와 쓸모없는 온라인 자습서를 모두 읽은 후에도 iAds
을 내 응용 프로그램에 올바르게 구현하는 방법을 알 수 없습니다. 그래서, 내 애플 리케이션은 테이블 뷰 컨트롤러에서 시작하고, 내비게이션 바 아래 테이블 위의 iAd
개체가 있습니다.iAd가로드되지 않으면 숨기지 않습니까?
지금, 내 코드에서 : 나는 응용 프로그램을 테스트 할 때 문제가있다,
#import "MasterTableViewController.h"
@interface MasterTableViewController()
@end
@implementation MasterTableViewController
@synthesize bannerLoaded;
- (BOOL)bannerViewActionShouldBegin:(ADBannerView *)banner willLeaveApplication:(BOOL)willLeave
{
if (!willLeave)
{
// nothing in this case thanks to ARC
}
return YES;
}
- (void)bannerViewDidLoadAd:(ADBannerView *)banner
{
iAd.hidden = NO;
}
- (void)bannerView:(ADBannerView *)banner didFailToReceiveAdWithError:(NSError *)error
{
iAd.hidden = YES;
}
- (void)viewDidLoad
{
[super viewDidLoad];
for (int i = 0; i > 0; i++)
{
if (bannerLoaded)
{
iAd.hidden = NO;
}
else
{
iAd.hidden = YES;
}
}
}
지금하는 .m 파일에 다음
#import <UIKit/UIKit.h>
#import <iAd/iAd.h>
@interface MasterTableViewController : UITableViewController <ADBannerViewDelegate>
{
IBOutlet ADBannerView *iAd;
}
@property(nonatomic, readonly, getter=isBannerLoaded) BOOL bannerLoaded;
@end
(나는 또한 추가 말게 프레임 워크를) 인터넷 연결없이 iAd
은로드되지 않지만 (분명히) 숨기지 않습니다. 그래서, 화면의 맨 위에 큰 흰색 직사각형이 남았습니다. 그렇지 않으면 연결이 가능할 때 광고가 제대로 작동합니다. 누구든지 아이디어가 있습니까? 또한 - 나는 그들이 무언가를 만들었는지보기 위해 무한 루프를 추가했습니다.
동일한 문제 :(. 모든 데이터를 끊고 응용 프로그램을 테스트 할 때 여전히 흰색 사각형이 나타납니다. – user1751797
실제로 인터넷에 연결되어 있지 않으면 실제로 'bannerView : didFailToReceiveAdWithError :'가 호출되지 않습니다. 인터넷 연결 확인을 처리 할 수있는 다른 방법을 구현해야합니다. Apple에서 제공 한'Reachability' 라이브러리를 살펴보십시오. http://developer.apple.com/library/ios/#samplecode/Reachability/Introduction/Intro. html – Yaman
글쎄, 나는 지난 1 시간 동안이나 대답을 찾아 내서 해결책을 생각해 냈다. 나는 reachability 클래스가 관련되어 있다고는 생각하지 않지만 확실히 말할 수는 없다 : P 그래서 iOS 시뮬레이터에서 촬영했는데 다른 점이 많았습니다.그것은 내 배너에 대의원이 없다는 에러를 내게했습니다. 그래서 ViewDidLoad에서 : iAd.delegate = self; 그것을 다시 실행하고 그것은 예상대로 작동하는 것 같았다. 나는 그걸 내 아이폰에서 테스트했고, 몇 분 후에 예상대로 작동했다. 아이폰 테스트가 엉망이라고 생각합니다. 모든 도움을 주셔서 감사합니다! – user1751797