0

TapforTap Ads を iPhone アプリに追加しようとしましたが、広告は表示されますが、コンソールにこのメッセージが表示されます。ページのナビゲーション後にアプリがクラッシュした後、TapForTap Ads を呼び出すための以下のコード。どうすればこの問題を解決できますか?

- (void)viewDidLoad
{
    [super viewDidLoad];

    CGFloat y = self.view.frame.size.height - 50.0;

    TapForTapAdView *adView = [[TapForTapAdView alloc] initWithFrame: CGRectMake(0, y, 320, 50) delegate: self];
    [self.view addSubview: adView];

    [TapForTapAppWall prepare];
    [TapForTapAppWall showWithRootViewController: self]; // or possibly self.navigationController
}

どうもありがとう

4

1 に答える 1

1

よくわかりません。しかし、これを試してください:

- (void) ShowTapAd {

    CGFloat y = self.view.frame.size.height - 50.0;

    TapForTapAdView *adView = [[TapForTapAdView alloc] initWithFrame: CGRectMake(0, y, 320, 50) delegate: self];
    [self.view addSubview: adView];

    [TapForTapAppWall prepare];
    [TapForTapAppWall showWithRootViewController: self]; // or possibly self.navigationController

}

- (void)viewDidLoad
{
    [super viewDidLoad];

    [self performSelectorOnMainThread:@selector(showTapAd) withObject:nil waitUntilDone:NO];
}

2 つ (またはそれ以上) のセグエ、ナビゲーション コントローラーのプッシュ、またはモーダル タイプのプロセスを提示すると、実行時の警告が表示されます。前者が完全に終了する前に開始することを意味します。

viewDidLoad 内で何かを呼び出すと、これらのことが起こる可能性があることに驚いています。そのため、根本的な原因が、表示されたコード スニペット内にないことがわかる場合があります。しかし、もしそうなら、これはトリックを行うことができます.

機能: viewDidLoad が適切に終了した後に、広告ビューのセットアップが確実に実行されるようにします。viewDidLoad はすべての UI 関連のものと同じようにメイン トレッドで実行されるため (または実行する必要があります)、現在の外観遷移はそれまでに終了する必要があります。

お役に立てれば。繰り返しますが、それは単なる推測です。

于 2013-03-28T13:56:26.180 に答える