Использование Google Places API с Alamofire 4.0 и iOS 10 и Swift 3
Мой проект в настоящее время построен в Xcode 8 и в Swift 3 с Alamofire 4.0. Я использую CocoaPods для реализации Alamofire.
Мой подфайл выглядит следующим образом:
# Uncomment the next line to define a global platform for your project
platform :ios, '10.0'
use_frameworks!
target 'WTB’ do
# Comment the next line if you're not using Swift and don't want to use dynamic frameworks
pod 'Alamofire', :git => 'https://github.com/Alamofire/Alamofire.git', :tag => ’4.0.0’
pod 'SwiftyJSON', git: 'https://github.com/BaiduHiDeviOS/SwiftyJSON.git', branch: 'swift3'
pod 'GooglePlaces' #doesn't work when this line is added
pod 'ChameleonFramework'
end
Я получаю следующую ошибку в терминале при попытке установить модуль googlePlaces:
- `Alamofire (from `https://github.com/Alamofire/Alamofire.git`, tag `4.0.0`)` required by `Podfile`
- `Alamofire (= 4.0.0)` required by `Podfile.lock`
- `Alamofire (~> 3.0)` required by `GooglePlaces (1.0.1)`
Google places работает с предыдущими версиями Alamofire (3.4.0), но я не могу заставить его работать с 4.0.0+. у кого-нибудь еще есть такая же проблема/ найдено решение?
Обновление: У меня есть все еще не везет после установки clean pod
Matthews-MBP:WTB matthewwyeth$ rm -Rf Pods; pod install
Analyzing dependencies
Pre-downloading: `Alamofire` from `https://github.com/Alamofire/Alamofire.git`, tag `4.0.0`
Pre-downloading: `SwiftyJSON` from `https://github.com/BaiduHiDeviOS/SwiftyJSON.git`, commit `de5dc3b1b421805769590d331178551bbb0e5733`
[!] Unable to satisfy the following requirements:
- `Alamofire (from `https://github.com/Alamofire/Alamofire.git`, tag `4.0.0`)` required by `Podfile`
- `Alamofire (= 4.0.0)` required by `Podfile.lock`
- `Alamofire (~> 3.0)` required by `GooglePlaces (1.0.1)`
[!] Your Podfile has had smart quotes sanitised. To avoid issues in the future, you should not use TextEdit for editing it. If you are not using TextEdit, you should turn off smart quotes in your editor of choice.
2 ответа:
Вы должны изменить версию
Google Places
на 2.* в вашем pod-файле эта зависимость требуетAlamofire 4.0
.Google размещает pod v2.* : https://cocoapods.org/?q=googleplaces
На самом деле проблема заключается в том, когда вы пишете
pod 'GooglePlaces'
Внутри
PodFile
он не приносит правильный стручок, но он все еще получаетold GooglePlacesAPI Pod
Первый просто Типpod search GooglePlaces
внутри терминала, и он принесет много результатов, поскольку первый должен быть сопоставлен, вы заметите, что это будетTHE OLD POD
так .. Вы должны обновить свои репозитории podpod update
И требуется время, чтобы закончить, хотя вы можете не видеть никаких изменений в терминале, но в мониторе активности - > сеть вы можете контролировать его так Будьте терпеливы, пока он не закончит обновление, а после этого просто повторно введите pod search GooglePlaces в терминале, и это будет новый, а затем просто запустите
pod install
Еще раз, и вы можете идти !
* Вот мой Подфайл на случай, если вам нужно будет взглянуть :
source 'https://github.com/CocoaPods/Specs.git' platform :ios, '10.0' use_frameworks! target 'YOUR-PROJECT' do pod 'GoogleMaps', '= 2.1.1' pod 'GooglePlaces', '= 2.1.1' pod 'Alamofire', :git => 'https://github.com/Alamofire/Alamofire.git', :branch => 'master' end