1

シミュレーターでアプリを実行すると、バナーを配置した画面の下部に白いウィンドウが表示されますが、3 秒後に消えます...

これは、.hiad のファイルにあるコードです。

#import <UIKit/UIKit.h>
#import <Foundation/Foundation.h>
#import "CardScrollView.h"
#import <iAd/iAd.h>

@interface ViewController1 : UIViewController <CardScrollViewDelegate,
 ADBannerViewDelegate> {

}

@property (weak, nonatomic) IBOutlet ADBannerView *banner1;

@end

これは、iad の .m ファイルにあるコードです。

- (void)viewDidLoad
{
    [super viewDidLoad];
    self.banner1.delegate = self;
}

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

- (void)bannerViewDidLoadAd:(ADBannerView *)banner {
    [UIView beginAnimations:nil context:NULL];
    [UIView setAnimationDuration:1];
    [banner setAlpha:1];
    [UIView commitAnimations];
}

- (void)bannerView:(ADBannerView *)banner 
     didFailToReceiveAdWithError:(NSError *)error {
    [UIView beginAnimations:nil context:NULL];
    [UIView setAnimationDuration:1];
    [banner setAlpha:0];
    [UIView commitAnimations];
}


@end

注: 上記のように、ファイルには 2 つのデリゲートがあります。これは、同じビュー コントローラー上.hにもあるためです。UIScrollViewエラーや警告がないのに、なぜ表示されないのですか? このコードは私の他のアプリで動作します。

4

1 に答える 1

1

同じ問題がありました。

ある時点で、iAd はシミュレーターでは機能しなくなりますが、実際の iPhone では機能します。これは、(iAd ロジックの) コード行を変更することなく行われます。

それを機能させるために私がしたこと:

  1. シミュレーターのアプリケーションの「設定」に移動します (つまり、アプリを実行し、ホーム ボタン (または CMD+Shift+H) をクリックし、最初のパネルに移動して [設定] を見つけます)。
  2. 開発者メニューに移動
  3. iAd を 100% の広告掲載率に設定する

しかし、これでは十分ではありませんでした。それから私は奇妙な修正を見つけました:

iPhone Retina 4-inch 用のシミュレーターを実行していたとしましょう。iPhone 3.5-inchiPhone 4-inch 64 bitなどの他の iPhone シミュレーターを選択するだけです。

どういうわけか、これにより iAd が再び表示されます。

于 2014-08-26T10:24:31.693 に答える