Ich habe ein Testprojekt erstellt, um AdMob zu testen und zu lernen, wie man es verwendet. Aber wenn ich mein Projekt erstelle, erhalte ich 11 Apple Mach-O-Linker-Fehler, wenn ich versuche, AdMob in mein Projekt einzufügen (Xcode 4.3.3).
Die H-Datei ist in Ordnung und hier ist die M-Datei (Codes sind aus der AdMob-Wissensdatenbank).
#import "chViewController.h"
#define MY_BANNER_UNIT_ID @"meine ID steht hier geschrieben"
@interface chViewController ()
@end
@implementation chViewController
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if (self) {
// Benutzerdefinierte Initialisierung
}
return self;
}
- (void)viewDidLoad {
[super viewDidLoad];
// Erstellen Sie eine Ansicht der Standardgröße oben auf dem Bildschirm.
// Verfügbare AdSize-Konstanten sind in GADAdSize.h erläutert.
bannerView_ = [[GADBannerView alloc] initWithAdSize:kGADAdSizeBanner];
// Geben Sie die "Gerätekennung" der Anzeige an. Dies ist Ihre AdMob Publisher-ID.
bannerView_.adUnitID = MY_BANNER_UNIT_ID;
// Lassen Sie die Laufzeitumgebung wissen, welches UIViewController nach der Navigation des Benutzers an die Anzeige zurückkehren soll, und fügen Sie es der Ansichtshierarchie hinzu.
bannerView_.rootViewController = self;
[self.view addSubview:bannerView_];
// Starten Sie eine generische Anforderung zum Laden mit einer Anzeige.
[bannerView_ loadRequest:[GADRequest request]];
}
- (void)viewDidUnload
{
[super viewDidUnload];
// Freigabe aller beibehaltenen Unteransichten der Hauptansicht.
}
Fehler
Nicht definierte Symbole für Architektur i386:
"_SCNetworkReachabilityCreateWithName", verwiesen von:
-[GADNetworkChecker startNetworkChecking] in libGoogleAdMobAds.a(GADNetworkChecker.o)
"_SCNetworkReachabilityScheduleWithRunLoop", verwiesen von:
-[GADNetworkChecker startNetworkChecking] in libGoogleAdMobAds.a(GADNetworkChecker.o)
"_SCNetworkReachabilitySetCallback", verwiesen von:
-[GADNetworkChecker startNetworkChecking] in libGoogleAdMobAds.a(GADNetworkChecker.o)
"_SCNetworkReachabilityUnscheduleFromRunLoop", verwiesen von:
-[GADNetworkChecker stopNetworkChecking] in libGoogleAdMobAds.a(GADNetworkChecker.o)
"_OBJC_CLASS_$_ASIdentifierManager", verwiesen von:
objc-class-ref in libGoogleAdMobAds.a(GADIdentifierUtilities.o)
"_AudioServicesPlaySystemSound", verwiesen von:
-[GADWebViewDelegate webView:shouldStartLoadWithRequest:navigationType:] in libGoogleAdMobAds.a(GADWebViewDelegate.o)
"_OBJC_CLASS_$_SKStoreProductViewController", verwiesen von:
objc-class-ref in libGoogleAdMobAds.a(GADOpener.o)
"_OBJC_CLASS_$_MFMailComposeViewController", verwiesen von:
objc-class-ref in libGoogleAdMobAds.a(GADOpener.o)
"_OBJC_CLASS_$_MFMessageComposeViewController", verwiesen von:
objc-class-ref in libGoogleAdMobAds.a(GADOpener.o)
"_SKStoreProductParameterITunesItemIdentifier", verwiesen von:
-[GADOpener openInAppStore:fallbackURLString:] in libGoogleAdMobAds.a(GADOpener.o)
ld: Symbol(e) für Architektur i386 nicht gefunden
clang: Fehler: Linker-Befehl fehlgeschlagen mit Exit-Code 1 (Verwenden Sie -v, um den Aufruf zu sehen)
Ich habe lib.googleadmobAds zu meinem Ordner hinzugefügt und das Binärcode mit Bibliotheken verknüpft (wenn ich es entferne, erhalte ich dieselben Fehler, jedoch nur 4 davon, nicht 11).
Ich habe viele Stackoverflow-Beiträge dazu gelesen und einige von Ihnen sagen, dass ich auch adsupport.framework hinzufügen muss, aber ich kann es nicht finden. Es wird nicht in der Liste der verknüpften Binärdateien mit Bibliotheken angezeigt.
Keine dieser Lösungen im Netz funktioniert. Ich stecke fest.
Was stimmt damit nicht? Ich erhalte keine Fehlermeldungen zu meinen H- oder M-Dateien, also warum erhalte ich Mach-O-Linker-Fehler? Kann mir jemand bitte helfen?