Использование 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 10

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 так .. Вы должны обновить свои репозитории pod

pod 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