2010-12-22 8 views
0

Ich versuche, iAds in meiner App zu verwenden, aber ich möchte alle Versionen ab 4.0 unterstützen. Allerdings ist der Code für die aktuelle Größe Kennung Einstellung in der 4.2 sdk geändert hat, verwendet es zu sein:Probleme mit iAd ändert sich in 4.2

ad.currentContentSizeIdentifier = ADBannerContentSizeIdentifier480x32; 

aber in 4.2 der Code:

ad.currentContentSizeIdentifier = ADBannerContentSizeIdentifierLandscape; 

und deshalb als wenn ich die alte verwenden Code in der 4.2 SDK stürzt ab und wenn ich den korrekten Code für 4.2 verwende, stürzt jedes Gerät, das eine vorherige Version zu 4.2 ausführt. Weiß jemand, wie ich beide unterstützen kann oder muss ich 4.2 als Einsatzziel verwenden?

Antwort

2

Es gibt eine Problemumgehung, um sowohl Version 4.2 als auch ältere Version zu unterstützen.

Sie können überprüfen, ob die Konstante in Ihrer ios Version existiert etwas mit ähnlich dem Code unten:

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

und dann benutzen Sie einfach die Zeichenfolge Sie iAd Ansicht zu initialisieren

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

[yourAdBannerView setCurrentContentSizeIdentifier:sizeIdentifier]; 
2

Es gibt ein anderes Problem in Ihrem Code - die Verwendung von ADBannerContentSizeIdentifier480x32 unter 4.2 verursacht keinen Absturz, in der Tat löst es nicht einmal eine Compiler-Warnung aus. Es ist veraltet, aber bleibt verfügbar.

Verwandte Themen