Ich versuche also, ein einfaches iAd-Banner in meiner Anwendung einzurichten, aber ich bekomme diese zwei Warnungen in der Ausgabe:
%Vor%und
%Vor% Dies ist, was ich verwende, um meine ADBannerView
:
Ich habe versucht, dies hinzuzufügen, um den ersten Fehler zu stoppen: (hat nicht funktioniert)
%Vor% Das Problem ist, dass Sie jedes Mal, wenn Sie Ihre Ansicht laden, eine neue Instanz von ADBannerView
erstellen. Was wir tun müssen, ist ein ADBannerView
einmal in unserem AppDelegate.swift
zu erstellen und dann dieses ADBannerView
darzustellen, auf dem wir in allen Ansichten ein iAd Banner haben möchten. Dies wird auch als Shared iAd Banner bezeichnet . In diesem Beispiel habe ich ADBannerView
in meinem AppDelegate.swift
erstellt und dann zu meiner ViewController.swift
hinzugefügt.
AppDelegate.swift
%Vor%ViewController.swift
%Vor% Vergessen Sie nicht, den Code aus Ihrer zuvor hinzugefügten Funktion viewWillDisappear(animated: Bool)
zu entfernen. Wenn Sie auf das Banner klicken und es dann ablehnen, wird diese Funktion aufgerufen, und unser Banner wird aus unserer Sicht entfernt. Wenn Sie unseren Banner-Delegaten gleich zu Null setzen, wird dies zu Problemen führen.
Wenn Sie sich nicht um die Größe, Position, Fehlerbehandlung und die Delegiertenmethoden Ihrer Bannerwerbung kümmern möchten, können Sie auch Folgendes verwenden:
%Vor%Das hat den Fehler in meiner App gelöst, weil Apple sich auch um die Anzahl der Instanzen kümmert
Ich habe ein kurzes Tutorial dazu geschrieben: Link
Wenn Sie möchten, dass das Banner zwischen den Registerkarten verbleibt und beim schnellen Wechseln der Registerkarten nicht verschwindet, müssen Sie den iAd Suite-Ansatz verwenden: Ссылка (Schau dir die Datei BannerViewController.m an - nicht in Swift, aber es ist nicht schwer, sie zu konvertieren)
Bei diesem Ansatz müssen Sie auch nicht die View-Controller in Ihren Tabs ändern. Sie müssen lediglich eine Beziehung zwischen Ihrem Tab-Controller und einem View-Controller haben, in den die Container-Ansicht eingebettet ist. Mach das in deinem Storyboard. Außerdem müssen Sie für jede Registerkarte die benutzerdefinierte Klasse zu BannerViewController festlegen und Ihren Inhalt in die eingebettete Ansicht einbetten. Sehen Sie sich diesen Beitrag an, um Details zum Storyboard zu erfahren: Ссылка
Wenn Sie kein Storyboard verwenden, müssen Sie BannerViewController als übergeordneten Ansichtscontroller für jede Registerkarte festlegen.
Tags und Links ios swift iad adbannerview