J'ai incorporé SpatialIite
dans un projet Xcode qui utilise un fichier d'en-tête Proj.4
, juste un en-tête. Les deux sont des projets Xcode et ont des cibles statiques.
J'essaie de migrer du sous-module git vers les Cocoapods. Étant donné que les cibles statiques semblent difficiles à utiliser avec les Cocoapods, je veux juste que le projet soit construit de la manière habituelle. J'ai fait podspec pour Proj.4
. Après avoir écrit le fichier pod pour SpatialLite
j'ai reçu les avertissements:
[!] The target `SpatialiteIOS [Debug]` overrides the `OTHER_LDFLAGS` build setting defined in `Pods/Pods.xcconfig'.
- Use the `$(inherited)` flag, or
- Remove the build settings from the target.
[!] The target `SpatialiteIOS [Debug]` overrides the `HEADER_SEARCH_PATHS` build setting defined in `Pods/Pods.xcconfig'.
- Use the `$(inherited)` flag, or
- Remove the build settings from the target.
[!] The target `SpatialiteIOS [Debug - Release]` overrides the `OTHER_LDFLAGS` build setting defined in `Pods/Pods.xcconfig'.
- Use the `$(inherited)` flag, or
- Remove the build settings from the target.
[!] The target `SpatialiteIOS [Debug - Release]` overrides the `HEADER_SEARCH_PATHS` build setting defined in `Pods/Pods.xcconfig'.
- Use the `$(inherited)` flag, or
- Remove the build settings from the target.
J'ai lu ce problème, mais je ne sais pas du tout ce que signifient les avertissements et que puis-je faire pour y remédier.
De plus, lorsque j'ouvre l'espace de travail et que j'ouvre le projet SpatiaLite seul, les deux sont ciblés sur Mac OSX 64, lorsqu'il est supposé être un projet iOS. Mon podfile dit "plateforme: ios".
Réponses:
Cela fonctionne certainement la plupart du temps:
Accédez à vos paramètres de build cibles -> Autres indicateurs de l'éditeur de liens -> double-cliquez. Ajoutez
$(inherited)
à une nouvelle ligne.Si vous rencontrez un problème avec "... la cible remplace le paramètre de génération GCC_PREPROCESSOR_DEFINITIONS défini dans ...", vous devez ajouter $ (hérité) à vos paramètres de génération cible -> Macros de préprocesseur
la source
GCC_PREPROCESSOR_DEFINITIONS
paramètre de génération défini dans ...", vous devez ajouter $ (hérité) à vos paramètres de$(inherited)
est déjà là sur la première ligne mais ça ne marche pas pour moi: /Il existe un conflit entre vos paramètres de build et les paramètres de build par défaut souhaités par Cocoapods. Pour voir les paramètres de génération de Cocoapods, affichez le ou les fichiers .xcconfig dans Pods / Target Support Files / Pods - $ {PROJECTNAME} / dans votre projet. Pour moi, ce fichier contient:
Si vous êtes satisfait des paramètres Cocoapods, allez dans Paramètres de construction pour votre projet, trouvez le paramètre approprié et appuyez sur la touche Supprimer. Cela utilisera le paramètre de Cocoapods.
D'un autre côté, si vous avez un paramètre personnalisé que vous devez utiliser, ajoutez $ (hérité) à ce paramètre.
la source
J'ai vu ces 3 erreurs pour la commande pod dans le terminal
Ces 3 erreurs auraient disparu en ajoutant $ (hérité) à
dans Project -> Target -> Build Settings
Et maintenant, la commande s'exécuterait sans donner d'erreurs
la source
Other Linker Flags
n'était pas suffisant.Dans votre projet, recherchez
Target -> Build Settings -> Other Linker Flags
, sélectionnezOther Linker Flags
, appuyez surdelete
(Clavier Mac) /Backspace
(Clavier normal) pour récupérer le paramètre. Ça marche pour moi.Exemple:
Avant
Après
la source
Juste eu un problème similaire lorsque j'ai couru
pod install
, j'ai vu les avertissements / erreurs suivants (liés àCLANG_CXX_LIBRARY
):L'erreur / l'avertissement des Cocoapods
The Fix
Project
afin que vous puissiez voir leBuild Settings
.Target
(AppName
sousTargets
)C++ Standard Library
(il sera probablement en gras - cela signifie qu'il est remplacé).La ligne ne devrait plus être en gras et si vous exécutez
pod install
les avertissements / erreurs devraient avoir disparu.Aide visuelle
la source
Si Xcode se plaint lors de la liaison, par exemple, bibliothèque non trouvée pour -lPods, il ne détecte pas les dépendances implicites:
Allez dans Produit> Modifier le schéma Cliquez sur Créer Ajouter la bibliothèque statique des pods Nettoyer et reconstruire
la source
Pour moi, le problème était avec mes tests de cibles. J'avais déjà le
$(inherited)
drapeau dans ma cible d'application principale.Je l'ai ajouté aux indicateurs MyLinkTests Other Linker. Après cela, quand j'ai couru,
pod install
le message d'avertissement avait disparu.la source
La première ligne de lien ci-dessous a sauvé ma journée:
https://github.com/CocoaPods/CocoaPods/wiki/Creating-a-project-that-uses-CocoaPods#faq
N'oubliez pas non plus d'insérer cette ligne au début de votre fichier pod:
la source
J'ai ajouté $ (hérité) mais mon projet n'était toujours pas en cours de compilation. Pour moi, le problème était le drapeau "Construire pour l'architecture active uniquement", j'ai dû le régler sur OUI.
la source