si tu as plusieurs versions de XCode installées (normale + beta par exemple), ouvre celle que tu veux utiliser, va dans les préférences > locations > command line tools et vérifie que la bonne est sélectionnée
Evite les espaces dans les noms de dossiers/fichiers car certains scripts mal codés pourraient avoir des soucis pour trouver tes fichiers (je ne pense pas que ça soit le problème ici, mais c’est une bonne habitude à prendre)
Hi Everybody, I have some troubles with this package :
I’m running macOS High Sierra 10.13.3, XCode 9.4.1 (9F2000), and cocoapods 1.5.2.
Here the result of my terminal window :
18macbookrj:BuBus alban$ brew install automake autoconf libtool libxml2 pkg-config
Warning: automake 1.16.1_1 is already installed and up-to-date
To reinstall 1.16.1_1, run brew reinstall automake
Warning: autoconf 2.69 is already installed and up-to-date
To reinstall 2.69, run brew reinstall autoconf
Warning: libtool 2.4.6_1 is already installed and up-to-date
To reinstall 2.4.6_1, run brew reinstall libtool
Warning: libxml2 2.9.7 is already installed and up-to-date
To reinstall 2.9.7, run brew reinstall libxml2
Warning: pkg-config 0.29.2 is already installed and up-to-date
To reinstall 0.29.2, run brew reinstall pkg-config
18macbookrj:BuBus alban$ brew link libxml2
Warning: libxml2 is keg-only and must be linked with --force
If you need to have this software first in your PATH instead consider running:
echo ‹ export PATH=« /usr/local/opt/libxml2/bin:$PATH » › >> ~/.bash_profile
18macbookrj:BuBus alban$ brew link --force libxml2
Linking /usr/local/Cellar/libxml2/2.9.7… 21 symlinks created
If you need to have this software first in your PATH instead consider running:
echo ‹ export PATH=« /usr/local/opt/libxml2/bin:$PATH » › >> ~/.bash_profile
18macbookrj:BuBus alban$ pod install
Analyzing dependencies
Pre-downloading: GEOSwift from https://github.com/GEOSwift/GEOSwift.git, branch develop
**[!] CocoaPods could not find compatible versions for pod « geos »:
In Podfile:
GEOSwift (from https://github.com/GEOSwift/GEOSwift.git, branch develop) was resolved to 2.2.0, which depends on
geos (= 3.5.0)
None of your spec sources contain a spec satisfying the dependency: geos (= 3.5.0).
You have either:
out-of-date source repos which you can update with pod repo update or with pod install --repo-update.
mistyped the name or version.
not added the source repo that hosts the Podspec to your Podfile.
Note: as of CocoaPods 1.0, pod repo update does not happen on pod install by default.**
Could you please help me ?
How canI install GEOSwift ?
J’ai fait les deux update comme suggéré mais cela me donne le même message d’erreur.
Finalement j’ai édité le fichier Workspace pour remplacer pod 'GEOSwift', :git => 'https://github.com/GEOSwift/GEOSwift.git', :branch => 'develop' par pod 'GEOSwift' et ça fonctionne en faisant install pod depuis Terminal :
project 'BuBus.xcodeproj'
# Uncomment the next line to define a global platform for your project
platform :ios, '9.0'
source 'https://github.com/CocoaPods/Specs.git'
#source 'https://github.com/mojtabacazi/Specs.git'
target 'BuBus' do
# Comment the next line if you're not using Swift and don't want to use dynamic frameworks
use_frameworks!
# Pods for BuBus
# pod 'GEOSwift', :git => 'https://github.com/GEOSwift/GEOSwift.git', :branch => 'develop'
pod 'GEOSwift'
target 'BuBusTests' do
inherit! :search_paths
# Pods for testing
end
target 'BuBusUITests' do
inherit! :search_paths
# Pods for testing
end
end
Cool, c’est une bonne solution en attendant qu’ils publient leur correction sur cocoapods.
Par contre, attention en faisant référence direct à la branche de développement du repo git, à tout moment tu peux passer sur une version instable de GeoSWIFT.
Merci pour l’info, j’ai modifié le fichier. Le voici maintenant corrigé avec toutes les erreurs enlevées (grace à inhibit_warning => true.
project 'BuBus.xcodeproj'
platform :ios, '9.0'
source 'https://github.com/mojtabacazi/Specs.git'
target 'BuBus' do
use_frameworks!
pod 'GEOSwift', :git => 'https://github.com/mojtabacazi/GEOSwift.git', :branch => 'develop', :inhibit_warnings => true
pod 'geos', :inhibit_warnings => true
target 'BuBusTests' do
inherit! :search_paths
end
target 'BuBusUITests' do
inherit! :search_paths
end
end
Salut, je déterre un peu le sujet car je rencontre toujours le même problème que cité précédemment.
Je suis actuellement le cours sur MapKit avec l’appli BusBus.
Je suis sur Xcode 10.1 et High Sierra (malheureusement mon ordi est bloqué à High Sierra, il est trop vieux).
Le message d’erreur obtenu est le même, à savoir :
> Installing GEOSwift 2.1.3 (was 3.0.3)
> Installing geos 3.6.2 (was 3.7.1 and source changed to `https://github.com/mojtabacazi/Specs.git` from `https://github.com/cocoapods/specs.git`)
> [!] /bin/bash -c
> set -e
> type -P autoconf &>/dev/null || alias autoconf 'xcrun autoconf'
> type -P autoheader &>/dev/null || alias autoheader 'xcrun autoheader'
> type -P aclocal &>/dev/null || alias aclocal 'xcrun aclocal'
> type -P automake &>/dev/null || alias automake 'xcrun automake'
> type -P glibtool &>/dev/null || alias glibtool 'xcrun glibtool'
> type -P glibtoolize &>/dev/null || alias glibtoolize 'xcrun glibtoolize'
>
> sh autogen.sh
> ./configure
> ./tools/repo_revision.sh
>
> sed -i "" "s/\/\* #undef HAVE_INT64_T_64 \*\//#define HAVE_INT64_T_64 1/" include/geos/platform.h
> sed -i "" "s/#define HAVE_LONG_INT_64 1/\/\* #undef HAVE_LONG_INT_64 \*\//" include/geos/platform.h
>
> cat <<EOT >> include/geos/platform.h
> #undef ISNAN
> #define ISNAN(x) (std::isnan(x))
> EOT
>
> patch capi/geos_c.h <<EOF
> 149c149
> < #include <geos/export.h>
> ---
> > #define GEOS_DLL
> EOF
>
> /bin/bash: line 2: alias: autoconf: not found
> /bin/bash: line 2: alias: xcrun autoconf: not found
J’ai pourtant bien installé avec homebrew autoconf, automake et libtool avec homebrew et la commande
> $ brew install autoconf automake libtool
J’ai également essayé la méthode de Maxime expliquée dans la vidéo, mais cela ne change rien.
En fait, j’ai remarqué que lors de l’installation de autoconf, libtool et automake, j’ai eu un message dans le terminal du style “pour ne pas interférer avec les versions d’apple de autoconf automake etc, les fichiers ont été renommés gautoconf, gautomake et glibtool”.
Je me demande si le fait qu’il ne retrouve pas autoconf ne viendrait pas de la…
Du coup je ne sais pas trop comment y remédier si cette hipothèse paraît crédible.
Quelqu’un en saurait il plus?
J’en suis vraiment à me demander si je ne vais pas chercher une alternative à GEOSwift…
Oui j’essayé! J’ai même tenté de rechanger les noms de fichier en enlevant le « g » rajouté mais ca ne change rien.
En fait, lorsque j’applique la méthode normale avec cocoapods, sans l’astuce de la vodéo, l’installation du pod GEOSwift fonctione, je n’ai pas d’erreur.
C’est seulement lorsque je rouvre le workspace que j’ai des erreurs à la compilation.
Je reviens vers vous car je suis en train de développer une app et j’ai vraiment besoin de parser du GEOJson (ma source). J’ai donc décider de réutiliser GEOSwift.
Install sans soucis. Je créé mon Podfile, et j’installe depuis la ligne de commande.
Tout se passe bien.
J’ouvre mon nouveau fichier xcodeproj l’intégration de base se passe bien.
Sauf qu’à la fin, j’ai plusieurs erreurs dans geos : ‘geos/platform.h’ file not found
Est-ce que vous avez eu le même soucis ?
@mbritto, aurais-tu une nouvelle librairie à utiliser ?
OK, High Sierra tu veux dire (si c’est bien 10.13.6 que tu as). La même version que moi. C’est là dont semble venir le problème… ça ne semble toujours pas régle du coté de GEOSwift.
J’avais demandé à @mbritto lors du dernier coaching de groupe, il semblait ne pas avoir de meilleure solution de GEOSwift (ce n’est pas quelque chose qu’il utilise spécialement dans ses apps).
Il faut peut être se pencher sur la solution « officielle » Apple, si elle existe?
oui désolé High Sierra.
Ca me fait vraiment c… cette histoire.
Je suis en train de tout passer en Json. C’est galère car il y a bcp d’infos dans un GEOJson dont je n’ai pas besoin.
Effectivement je n’ai utilisé GeoSwift que pour le cours, je ne m’en sers dans aucun autre projet.
Peut être que tu peux ouvrir un ticket sur leur GitHub pour dire qu’il y a un problème d’installation. Le projet semble encore actif donc peut être qu’ils trouveront d’où vient le problème.
Bonsoir Maxime. Actuellement il est impossible d’utiliser le cours MapKit, lorsque j’installe GeoJson et que je parviens à ouvrir le projet sur Xcode c’est un sapin de Noel, énormement de choses sont dépréciées. J’ai lâché l’affaire le temps de faire de la POO. Je ferais un tour sur la doc officielle qui à l’air… moins bien que tes cours.
Avez-vous déjà fait un défit du mois autour de Mapkit sur SwiftUI ?