J'ai mis à jour Google AdMob SDK à la version 7.1.0 à l'aide de pods.
Donc, dans mon appDelegate.m, j'essaie d'ajouter cette ligne
@import GoogleMobileAds;
Mais je reçois une erreur en disant Module 'GoogleMobileAds' non trouvé .
Ce problème est également présent dans l'exemple d'Interstial Ad de Google sur gitHub.
Cordialement Ranjit
essayez de copier votre GoogleMobileAds.framework
dans le dossier de votre projet racine, puis ajoutez-le aux bibliothèques. Cela fonctionne parfaitement pour moi.
Aucune des autres réponses à ce jour n'a fonctionné pour moi. C'est ce qui a fait:
Allez à 'Build Phases', 'Link Binary with Libraries'. J'avais déjà ajouté le GoogleMobileAds.framework
ici, alors je l'ai supprimé et rajouté.
Pour l'ajouter, cliquez sur le signe + correspondant à la section "Liens entre les fichiers binaires et les bibliothèques", puis cliquez sur "Ajouter un autre ...". Naviguez jusqu'à l'endroit où vous avez enregistré GoogleMobileAds.framework
et sélectionnez-le.
Assurez-vous que vous avez d'abord ajouté GoogleMobileAds.framework
à votre projet en allant dans 'Fichier'> 'Ajouter des fichiers à votre nom de projet'.
Cela a résolu le problème pour moi.
Voici la réponse:
Importez ceci dans votre fichier .m :
#import <GoogleMobileAds/GADInterstitial.h>
#import <GoogleMobileAds/GADBannerView.h>
J'ai rencontré ce problème lors de la mise à jour de mes pods et de l'utilisation de Firebase. Malheureusement, aucune des réponses ici n’a aidé, alors j’ai pensé que je publierais ce qui a fonctionné pour moi.
J'ai trouvé un bon fil qui m'a aidé ici . Essentiellement, cela a fonctionné:
rm -rf Pods
pod install --repo-update
J'espère que cela aide quelqu'un parce que cela m'a troublé pendant un moment.
Voici la solution qui a fonctionné pour moi:
Ne fais pas ça
Au lieu de cela, faites glisser GoogleMobileAds.framework vers votre projet et ajoutez tous les autres cadres mentionnés ici et, tout en faisant glisser, déposez les éléments de copie de contrôle si nécessaire.
J'ai résolu en réglant les "modules de définition" sur OUI dans les paramètres de construction et en réimportant le cadre.
Le problème actuel est que, dans les paramètres de construction de votre application, vous manquez le paramètre:
Chemins de recherche du framework
Modifiez votre projet.pbxproj afin que BuildSettings inclue quelque chose comme:
FRAMEWORK_SEARCH_PATHS = "/Users/bram/src/GoogleMobileAdsSdkiOS-7.16.0/";
Ou utilisez l'interface utilisateur de Xcode pour modifier les paramètres de construction de la manière suivante:
Je suis resté coincé avec ce problème pendant quelques heures, mais une solution élégante a finalement été trouvée .Ma méthode n’utilise pas de "liaison manuelle de fichiers", mais un usage pur de fichier podfile.
J'ai rencontré ce problème lorsque j'ai mis à jour mes pods ('pod install' ou 'pod update') après avoir ajouté une autre cible au projet.
Ma solution est:
Allez dans votre podfile et assurez-vous que vous avez défini le bloc "cible ..." pour chaque cible de votre projet (voilà! Semble ne pas être documenté, du moins je ne l'ai pas trouvé) . Par exemple vous avez 2 cibles: "theApp" et "theApp Lite". Dans ce cas, votre fichier pod doit ressembler à ceci:
target 'theApp' do
# ...your pods and options here
end
target 'theApp Lite' do
# ...your pods and options here
end
Ensuite, faites "pod install" ou "pod update" pour mettre à jour vos bibliothèques.
Ensuite, allez dans les paramètres généraux de chaque cible et assurez-vous de disposer du fichier "libPods ... a" (ou "framework libPods ..." approprié (dans le cas où vous utilisez l'option "use_frameworks!" Section "Cadres et bibliothèques liés". Supprimez les liens erronés/confus, le cas échéant. Ajouter manuellement s'il manque (doit apparaître sous "Espace de travail" groupe/répertoire lorsque vous appuyez sur "+").
Sous "Build Phases", vous devez observer "[CP]" - éléments préfixés pour chaque cible.
Après cela, je n'ai eu aucun problème de construction.
J'ai supprimé le pod et réinstallé à nouveau
rm -Rf Pods; pod install
dans mon projet dir.
Pour moi, le problème était que je n'avais pas mis à jour la "cible de déploiement" de mon application. Il était réglé sur <7.0, c'est pourquoi il se plaignait probablement. Une fois que j'ai mis à jour la cible à> 7.0, les erreurs ont disparu. (pour les futurs utilisateurs mettant à jour leurs applications quelques fois par an, comme moi)
Je laisse un script qui génère des cadres injectés statiques
pod --version 1.3.1
Version 9.1 (9B55)
Podfile [Cible]
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
Podfile [Fuction]
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 [Run Fuction]
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
Cela se produit parfois en essayant de ne pas utiliser GoogleMobileAds, si c'est le cas (comme je l'ai vu ici): 4- Sélectionnez GoogleMobileAds puis le bouton (-) sur le bouton.
Cela a résolu mon problème lors de la suppression d'annonces d'un modèle d'application.
Si quelqu'un éprouve toujours le même problème, je viens de trouver une solution. J'ai passé des heures à essayer tout ce qui était recommandé jusqu'à présent et RIEN ne fonctionnait, je ne savais toujours pas ce que je faisais mal, mais voici un petit bidouillage qui a fonctionné pour moi: Quel que soit le framework que j'ai téléchargé depuis Google (j'ai essayé le manuel et les méthodes Cocoa Pods) ne fonctionneraient pas, mais quand je viens de télécharger leur petit projet testeur xCode (BannerExample.xcodeproj je crois), j'ai copié le framework fourni avec ce projet test, je l'ai collé dans mon fichier de projet ajouté le cadre et le lié. Après cela, j'ai pu importer le cadre parfaitement et adMob fonctionne très bien. Je ne peux pas pendant toute ma vie comprendre quelle serait la différence, mais cela a fonctionné. J'espère que cette solution aidera tout le monde à résoudre le même problème. Je crois avoir arraché l'un des cinq derniers cheveux sur ma tête. Bonne chance!
Xcode version 7.2.1 (7C1002) Objectif C
J'ai eu ce problème et je devais continuer à ajouter les GoogleMobileAds à chaque fois au projet pour m'en débarrasser. Je ne suis pas sûr qu'il s'agisse d'un bogue . Sélectionnez d'abord le GoogleMobileAds.framework, puis décochez et cochez la case Adhésion cible, puis essayez de construire l'erreur disparaît. .__ Cela a fonctionné pour moi. J'espère que ça aide.
J'ai le même problème. Voici ce que j'ai fait. J'espère que ça aide quelqu'un.
GoogleMobileAds.framework
de votre projet (ou stockez-le dans un autre dossier).Build Phases
, Link Binary with Libraries
. Cliquez sur le signe +
pour la section Link Binary with Libraries
et cliquez sur Add Other...
. Accédez à l'emplacement où vous avez enregistré GoogleMobileAds.framework > Versions > A > GoogleMobileAds
et ouvrez-le.Cela a parfaitement réglé le problème pour moi.
Ne décompressez pas les fichiers lib sous Windows, il ne peut pas gérer les liens symboliques correctement.
Si cette erreur se produit toujours, vérifiez si le champ "Chemins de recherche de la structure" dans les paramètres de construction contient le chemin correct vers votre structure
Je viens d'ajouter "use_frameworks!" dans le podfile, mettez à jour le pod et cela fonctionne. Ce problème est apparu lorsque j'ai mis à jour mon système d'exploitation vers El Captain (10.11.15) et XCode vers la version 8. Mon podfile maintenant:
target 'My Target' do
use_frameworks!
pod 'MagicalRecord'
pod 'AFNetworking'
pod 'Firebase'
pod 'Firebase/Core'
pod 'Firebase/AdMob'
end
J'ai le même problème. Voici ce que j'ai fait. Cela a fonctionné pour moi (j'espère que cela aidera quelqu'un).