2010-12-22 5 views
0

私のアプリでiAdsを使用しようとしていますが、4.0以降のすべてのバージョンをサポートしたいと思います。しかし、現在のサイズの識別子が4.2 SDKで変更された設定するためのコードは、それがあることを使用:4.2のiAdの変更に関する問題

ad.currentContentSizeIdentifier = ADBannerContentSizeIdentifier480x32; 

が、4.2のコードは次のとおり

ad.currentContentSizeIdentifier = ADBannerContentSizeIdentifierLandscape; 

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

答えて

2

4.2とearliersバージョンの両方をサポートするための回避策があります。

定数が怒鳴るコードに似たような使用して、IOSのバージョンに存在するかどうかをチェックできます。ちょうどあなたのiAdビューを初期化するために、文字列を使用し、その後

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

とを

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

[yourAdBannerView setCurrentContentSizeIdentifier:sizeIdentifier]; 
2

あなたのコードには他にもいくつかの問題があります.ADBannerContentSizeIdentifier480x32を使用すると、クラッシュは発生せず、実際にはコンパイラの警告を引き起こしません。廃止されましたが、引き続き利用可能です。

関連する問題