0

アプリで iAds を使用しようとしていますが、4.0 以降のすべてのバージョンをサポートしたいと考えています。ただし、現在のサイズ識別子を設定するためのコードは 4.2 SDK で変更されました。以前は次のようになっていました。

ad.currentContentSizeIdentifier = ADBannerContentSizeIdentifier480x32;

しかし、4.2 のコードは次のとおりです。

ad.currentContentSizeIdentifier = ADBannerContentSizeIdentifierLandscape;

したがって、4.2 SDK で古いコードを使用するとクラッシュし、4.2 の正しいコードを使用すると、以前のバージョンから 4.2 を実行しているデバイスがクラッシュします。両方をサポートする方法を知っている人はいますか、または展開ターゲットとして 4.2 を使用する必要がありますか?

4

2 に答える 2

2

コードには他にも問題があります。4.2でADBannerContentSizeIdentifier480x32を使用してもクラッシュは発生せず、コンパイラの警告もトリガーされません。非推奨ですが、引き続き使用できます。

于 2010-12-22T12:35:37.657 に答える
2

4.2 以前のバージョンの両方をサポートする回避策があります。

次のコードのようなものを使用して、iOS バージョンに定数が存在するかどうかを確認できます。

NSString *sizeIdentifier = &ADBannerContentSizeIdentifierLandscape != nil ? ADBannerContentSizeIdentifierLandscape : ADBannerContentSizeIdentifier480x32;

次に、文字列を使用してiAdビューを初期化します

[yourAdBannerView setRequiredContentSizeIdentifiers:[NSSet setWithObject:sizeIdentifier]];

[yourAdBannerView setCurrentContentSizeIdentifier:sizeIdentifier];
于 2011-03-24T03:25:32.993 に答える