webentwicklung-frage-antwort-db.com.de

Modul "GoogleMobileAds" wurde in iOS nicht gefunden

Ich habe das Google AdMob SDK mit Pods auf 7.1.0 aktualisiert.

Also versuche ich in meiner appDelegate.m, diese Zeile hinzuzufügen 

@import GoogleMobileAds;

Ich erhalte jedoch die Fehlermeldung Modul 'GoogleMobileAds' nicht gefunden .

Dieses Problem ist auch in den Interstial Ad-Beispielen von Google auf gitHub enthalten.

Viele Grüße Ranjit

29
Ranjit

Aktivieren Sie das Kontrollkästchen "Element bei Bedarf kopieren", wenn Sie GoogleMobileAds.framework in Ihre App kopieren.

 enter image description here

In meinem Fall hatte ich das Framework entfernt und dieses Framework erneut hinzugefügt und das Kontrollkästchen und das Problem markiert.

22
M Swapnil

versuchen Sie, Ihren GoogleMobileAds.framework in Ihren Stammprojektordner zu kopieren und anschließend zu Bibliotheken hinzuzufügen. Es funktioniert perfekt für mich.

15
kaplya

Keine der anderen bisherigen Antworten funktionierte für mich. Das haben wir getan:

Gehen Sie zu "Phasen erstellen", "Binär mit Bibliotheken verknüpfen". Ich hatte bereits den GoogleMobileAds.framework hier hinzugefügt, also habe ich ihn entfernt und wieder hinzugefügt. 

Um es hinzuzufügen, klicken Sie auf das Pluszeichen für den Abschnitt 'Link-Binär mit Bibliotheken verknüpfen' und klicken Sie auf 'Weitere hinzufügen ...'. Navigieren Sie zu dem Ort, an dem Sie GoogleMobileAds.framework gespeichert haben, und wählen Sie ihn aus. 

Stellen Sie sicher, dass Sie zuerst GoogleMobileAds.framework zu Ihrem Projekt hinzugefügt haben, indem Sie auf "Datei"> "Dateien zum Projektnamen hinzufügen" klicken. 

Das hat das Problem für mich behoben. 

9
Mark

Hier ist die Antwort:

Importiere dies in deine .m Datei :

#import <GoogleMobileAds/GADInterstitial.h>
#import <GoogleMobileAds/GADBannerView.h>
7
Dasoga

Dieses Problem ist mir beim Aktualisieren meiner Pods und bei der Verwendung von Firebase aufgefallen. Leider hat keine der Antworten hier geholfen, also dachte ich, ich würde posten, was für mich funktioniert hat.

Ich habe einen tollen Thread gefunden, der mir hier geholfen hat. Grundsätzlich funktionierte folgendes:

  • Meine Pods löschen - rm -rf Pods
  • Meine Pods neu installieren - pod install --repo-update

Hoffe, das hilft jemandem, weil mich das eine Weile gestört hat.

6
jason z

Hier ist die Lösung, die für mich funktioniert hat:

Tu das nicht
 don't do this
Ziehen Sie stattdessen das GoogleMobileAds.framework in Ihr Projekt und fügen Sie alle anderen genannten Frameworks here hinzu.

 enter image description here

4
Chaudhry Talha

Ich habe es gelöst, die "Defines Modules" in den Build-Einstellungen auf YES zu setzen und das Framework neu zu importieren. 

4
FranMowinckel

Das eigentliche Problem hier ist, dass Sie in den Build-Einstellungen Ihrer App die Einstellung verpassen:

Framework-Suchpfade

Bearbeiten Sie entweder Ihre project.pbxproj so, dass BuildSettings Folgendes enthält:

FRAMEWORK_SEARCH_PATHS = "/Users/bram/src/GoogleMobileAdsSdkiOS-7.16.0/";

Oder verwenden Sie die Xcode-Benutzeroberfläche, um die Build-Einstellungen wie folgt zu ändern:

 setting in Xcode UI

2
Bram

Ich war ein paar Stunden mit diesem Problem beschäftigt, aber es wurde endlich eine anmutige Lösung gefunden ... Meine Methode verwendet keine "manuelle Dateiverbindung", sondern nur die Verwendung der Pod-Datei.

Dieses Problem trat auf, wenn ich meine Pods ("Pod-Installation" oder "Pod-Aktualisierung") nach dem Hinzufügen eines anderen Ziels zum Projekt aktualisiert habe.

Meine Lösung ist:

Gehen Sie zu Ihrem Podfile und stellen Sie sicher, dass Sie für jedes Ziel Ihres Projekts einen Block "target ..." definiert haben (voila! Scheint nicht dokumentiert zu sein, zumindest habe ich es nicht gefunden) . Zum Beispiel Sie haben 2 Ziele: "theApp" und "theApp Lite". In diesem Fall muss Ihre Pod-Datei so aussehen:

target 'theApp' do
# ...your pods and options here
end

target 'theApp Lite' do
# ...your pods and options here
end

Führen Sie dann "Pod-Installation" oder "Pod-Aktualisierung" aus, um Ihre Bibliotheken zu aktualisieren.

Gehen Sie dann zu den allgemeinen Einstellungen jedes Ziels und vergewissern Sie sich, dass Sie über die richtige (entsprechend Ihrem Ziel) "libPods ... a" (oder "libPods ... framework") verfügen, falls Sie die "use_frameworks!" - Podod-Datei (link) verwenden Abschnitt "Verknüpfte Frameworks und Bibliotheken". Entfernen Sie ggf. Müll/falsche/verwirrte Links. Bei Bedarf manuell hinzufügen (muss unter "Arbeitsbereich" Gruppe/Verzeichnis erscheinen, wenn Sie "+" drücken).

Unter "Build-Phasen" sollten Sie "[CP]" - vorangestellte Elemente für jedes Ziel beachten.

Danach hatte ich keine Probleme beim Bauen.

2
Roman86

Ich habe Pod gelöscht und erneut installiert ... Mein Problem wurde gelöst

rm -Rf Pods; pod install

in meinem Projekt dir.

2
Jabson

Für mich bestand das Problem darin, dass das "Bereitstellungsziel" meiner App nicht aktualisiert wurde. Es wurde auf <7,0 gesetzt, weshalb es sich wahrscheinlich beschwert hat. Sobald ich das Ziel auf> 7.0 aktualisiert habe, sind die Fehler verschwunden. (Für zukünftige Nutzer, die ihre Apps nur ein paar Mal im Jahr aktualisieren, wie ich)

1
Donovan

Ich hinterlasse ein Skript, das injizierte statische Frameworks generiert

pod --version 1.3.1
Version 9.1 (9B55)

Poddatei [Ziel]

target 'generic' do
    #Google
    pod 'GoogleAds-IMA-iOS-SDK', '~> 3.6.1'
    pod 'Google-Mobile-Ads-SDK', '~> 7.25.0'

    #pod Module 'GoogleMobileAds' not found 
    pod '#LIB_ERROR#'
    sd
end

Poddatei [Funktion]

def inject_frameworks(installer, targetName, listPaths)
    def print_info(text)
        puts "\e[33m[!] #{text}\e[0m"
    end

    installer.pods_project.targets.each do |target|
        if target.name == targetName
            print_info "Inject frameworks in #{target.name}"
            config = target.build_configurations.first
            if config
                xcconfig_path = config.base_configuration_reference.real_path
                build_settings = Hash[*File.read(xcconfig_path).lines.map{|x| x.split(/\s*=\s*/, 2)}.flatten]

                frameworks_paths = Array.new
                if build_settings['FRAMEWORK_SEARCH_PATHS']
                    frameworks_paths.concat(build_settings['FRAMEWORK_SEARCH_PATHS'].delete!("\n").split(/ /))
                end 

                listPaths.each do |frameworks_path|
                    print_info "[#{target.name}] Add search path frameworks #{File.dirname frameworks_path}"
                    frameworks_paths.Push(File.dirname frameworks_path)
                end

                build_settings['FRAMEWORK_SEARCH_PATHS'] = frameworks_paths.join(" ")
                File.open(xcconfig_path, "w") { |file| file << "" }
                build_settings.each do |key,value|
                  File.open(xcconfig_path, "a") {|file| file << "#{key} = #{value.strip}\n"}
                end

                listPaths.each do |frameworks_path|
                    print_info "[#{target.name}] Add frameworks #{File.basename frameworks_path}"
                    new_file_framework = config.project.frameworks_group.new_file(frameworks_path)
                    target.frameworks_build_phase.add_file_reference(new_file_framework, true)
                end
            end
        end
    end
end

Podfile [Lauffunktion]

post_install do |installer|
    inject_frameworks(installer, "#LIB_ERROR#", [
        '$(PROJECT_DIR)/Google-Mobile-Ads-SDK/Frameworks/frameworks/GoogleMobileAds.framework',
        '$(PROJECT_DIR)/GoogleAds-IMA-iOS-SDK/GoogleInteractiveMediaAds/GoogleInteractiveMediaAds.framework'
    ])
end
0
Scott Pilgrim

Dies tritt manchmal auf, wenn Sie versuchen, GoogleMobileAds nicht zu verwenden, wenn dies der Fall ist (wie ich es gesehen habe): 1- Klicken Sie auf den Projektnamen . 2- Build-Einstellungen . 3- Verknüpfte Frameworks. 4- Wählen Sie GoogleMobileAds aus und klicken Sie auf die Schaltfläche (-).

Dies löste mein Problem beim Entfernen von Anzeigen aus einer App-Vorlage.

0

Wenn immer noch jemand das gleiche Problem hat, konnte ich einfach eine Lösung finden. Ich habe stundenlang versucht, alles auszuprobieren, was bisher empfohlen wurde, und NICHTS hat funktioniert. Ich weiß immer noch nicht, was ich falsch gemacht habe, aber hier war ein kleiner Hacker, der für mich funktionierte: Welches Framework ich immer von Google heruntergeladen habe (ich habe es versucht Die Manual- und Cocoa Pods-Methoden würden nicht funktionieren, aber als ich gerade ihr kleines xCode-Projekt (BannerExample.xcodeproj, glaube ich) heruntergeladen habe, habe ich das Framework, das mit diesem Testprojekt gebündelt wurde, kopiert, in meine Zielprojektdatei eingefügt und dann eingefügt das Framework hinzugefügt und verlinkt. Danach konnte ich das Framework problemlos importieren und AdMob funktioniert hervorragend. Ich kann nicht für mein Leben herausfinden, was der Unterschied wäre, aber das hat funktioniert. Ich hoffe, dass diese Lösung allen anderen helfen kann, die sich mit demselben Problem befassen. Ich glaube, ich habe eine der letzten fünf Haare auf meinem Kopf herausgerissen. Viel Glück!

0
Pierce

Xcode Version 7.2.1 (7C1002) Ziel C

Ich hatte dieses Problem und musste die GoogleMobileAds jedes Mal zum Projekt hinzufügen, um dieses Problem zu beseitigen. Nicht sicher, ob dies ein Fehler ist . Wählen Sie zunächst das GoogleMobileAds.Framework aus, deaktivieren Sie das Kontrollkästchen und wählen Sie die Zielmitgliedschaft aus. .__Das hat bei mir funktioniert. Ich hoffe, es hilft.

0
uplearnedu.com

Ich habe das gleiche Problem. Hier ist was ich getan habe. Hoffe es hilft jemandem.

  1. Löschen Sie GoogleMobileAds.framework aus Ihrem Projekt (oder speichern Sie es in einem anderen Ordner).
  2. Gehen Sie zu Build Phases, Link Binary with Libraries. Klicken Sie auf das Zeichen + für den Abschnitt Link Binary with Libraries und klicken Sie auf Add Other.... Navigieren Sie zu dem Ort, an dem Sie GoogleMobileAds.framework > Versions > A > GoogleMobileAds gespeichert haben, und öffnen Sie ihn.

Das hat das Problem für mich perfekt gelöst.

0
Mustapha Madani

Entpacken Sie keine lib-Dateien unter Windows, sie können symbolische Links nicht korrekt verarbeiten.

0
Bluesky

Falls dieser Fehler immer noch auftritt, überprüfen Sie, ob im Feld für die Build-Einstellungen "Framework Search Paths" der richtige Pfad zu Ihrem Framework eingetragen ist

0
Shapes Workshop

Ich füge einfach "use_frameworks!" Aktualisieren Sie in der Pod-Datei den Pod und es funktioniert. Dieses Problem trat auf, als ich mein Betriebssystem auf El Captain (10.11.15) und XCode auf Version 8 aktualisiert habe. Meine podfile jetzt:

    target 'My Target' do
       use_frameworks!
       pod 'MagicalRecord'
       pod 'AFNetworking'
       pod 'Firebase'
       pod 'Firebase/Core'
       pod 'Firebase/AdMob'
    end
0
Pavel Kataykin

Ich habe das gleiche Problem. hier ist was ich getan habe. Es hat für mich funktioniert (hoffe es hilft jemandem).

  1. kopieren Sie das GoogleMobileAds.framework an einen beliebigen Ort und entfernen Sie es aus dem Pod, wenn Sie es haben.
  2. Fügen Sie dieses Framework manuell zu Ihrem Projekt hinzu (wählen Sie "Elemente bei Bedarf kopieren"). Überprüfen Sie die Build-Phasen, um sicherzustellen, dass Sie sie im Abschnitt "Link binary ..." haben.
  3. Löschen und neu aufbauen => Erfolg.
0
Robert TuanVu