IADs „Ungültige Inhaltsgröße 'ADBannerContentSizePortrait' übergeben ADAdSizeForBannerContentSize“ in iOS 4.2

StackOverflow https://stackoverflow.com/questions/4252567

Frage

Update 12/16/2010: Es sieht aus wie es ein ähnliches Problem, wenn 4.0-Geräte mit dem 4.2 SDK Targeting ... Ihre App sofort abstürzen, wenn Sie Interface Builder verwendet, um Ihre Anzeige zu erstellen Banneransicht. Schwach-Verknüpfung der iAd Rahmen und Re-Erstellung der Ad-Banner-Implementierung auf der Code-Seite der Dinge war die Lösung. Dank diesen Thread von Ray Wenderlich: http: / /www.raywenderlich.com/1371/how-to-integrate-iad-into-your-iphone-app

---

Hallo, ich habe gerade versucht, meine app mit iOS 4.2 SDK (final) und Targeting iOS 4.0-Geräten zu laufen, und auch wenn meine app fein kompiliert, ich diesen Fehler sofort beim Laufen ...


*** Terminating app due to uncaught exception 'NSInternalInconsistencyException',
 reason: 'Invalid content size 'ADBannerContentSizePortrait' passed to
 ADAdSizeForBannerContentSize'
...

Ich habe versucht ...


- (void)viewDidLoad {
    self.bannerView.currentContentSizeIdentifier = ADBannerContentSizeIdentifier320x50;
}

... aber kein Glück, immer noch den gleichen Absturz Fehler. In IB sieht es aus wie die einzigen Optionen für „Größen“ ist „Portrait, Landschaft, oder beide“, das ich denke, iOS 4.0 ist kein Fan von.

Wer irgendwelche Vorschläge? Vielen Dank.

War es hilfreich?

Lösung

Sie ändern

- (void)viewDidLoad { self.bannerView.currentContentSizeIdentifier = ADBannerContentSizeIdentifier320x50; }

- (void)viewDidLoad { self.bannerView.currentContentSizeIdentifier = ADBannerContentSizeIdentifierPortrait //or landscape }

, was man hatte veraltet war Sinn seiner nicht mehr unterstützt als von iOS 4.2

Andere Tipps

Das ist für mich gearbeitet. Es scheint, dass die OS-Versionen unter 4.2 noch die veralteten Inhalt Größe Identifikatoren wollen, zumindest wenn die ADBannerView in Interface Builder erstellt. Ich habe auch den iAd Rahmen als Vorsichtsmaßnahme schwach verknüpft. Ich hoffe, dass dies jemand hilfreich ist, und vielen Dank an der große Gemeinschaft auf dieser Seite für all die wunderbaren Informationen und Einblicke!

// if the current version of the os is less than 4.2, use the old way of defining the banner size
if ([[[UIDevice currentDevice] systemVersion] compare:@"4.2" options:NSNumericSearch] == NSOrderedAscending) {

    adBanner.requiredContentSizeIdentifiers = [NSSet setWithObject:ADBannerContentSizeIdentifier320x50];

    adBanner.currentContentSizeIdentifier = ADBannerContentSizeIdentifier320x50;

    NSLog(@"below 4.2");

} else {

    adBanner.requiredContentSizeIdentifiers = [NSSet setWithObject:ADBannerContentSizeIdentifierPortrait];

    adBanner.currentContentSizeIdentifier = ADBannerContentSizeIdentifierPortrait;

    NSLog(@"4.2 or above");

}

Es sieht aus, wie wenn Sie den Rahmen iAd entfernen und wieder hinzuzufügen „Add bestehenden Rahmen ...“ können Sie diese behebt das Problem ... seltsam. Hoffe, das hilft jemand anderes.

Die Antwort, die in der „update“ der Frage gefunden wird, ist richtig. Beachten Sie, dass zu diesem Zeitpunkt des Schreibens dieses Artikels, der Faden von Ray Wenderlich muss aktualisiert werden, da es iAd Konstanten veraltet verwendet. Ansonsten ist es eine sehr gute Ressource für die Lösung dieses Problems.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top