2015-09-16 1 views
2

Я разрабатываю приложение iOS с Xcode 6.4, Swift версии 1.2.Проблема с Google Местами Текущее место не работает в XCode 6.4

Я пытаюсь использовать функциональность API Google Адресов Текущее место в своем приложении, чтобы получить список мест, близких к пользователю, а затем отобразить их в таблицеView. Для того, чтобы угадать расположение, я создал эту функцию, которая активизируется каждый раз, когда текст изменений строки поиска, и заполнит массив с именем PossiblePlaces с предложениями, которые адаптируются в реальное время:

func search(searchText: String? = nil){ 

    self.possiblePlaces = [] 
    if searchText != nil { 
     println("before query") 
    placesClient?.currentPlaceWithCallback({ (placeLikelihoods:GMSPlaceLikelihoodList?, error:NSError?) -> Void in 

     if error != nil { 
      println("error") 

     } 
     if error == nil { 
      println("query ended") 

      for likelihood in placeLikelihoods!.likelihoods { 
       println(likelihood) 
       let place = likelihood.name 
       let id = likelihood.identifier 
       println(id) 
       println(place) 
       var suggestion = postedPlace(name: place, id: id) 
       self.possiblePlaces.append(suggestion) 

      } 

      self.autocompleteTableView.reloadData() 
     } 
    }) 
    } 
    } 

Насколько я могу сказать , функция запускается правильно: я получаю сообщение «перед запросом» каждый раз, когда текст изменяется. Однако я не получаю ни «ошибки», ни «запрос завершен», что, по-видимому, означает, что запрос никогда не запускается. Я не знаю, почему: ключ API верен, я даже получаю сообщение в моей версии SDK Google Maps на консоли, когда инициализируется GMSPlacesClient (в ViewDidLoad), поэтому я предполагаю, что интеграция работает.

Я ценю любой ввод!

Благодаря

ответ

0

OK для тех, кто может столкнуться с той же проблемой, что кажется, что проблема заключается в версии IOS, что тренажер предполагает смоделированный устройство, чтобы иметь. Проще говоря, эта проблема не появляется на симуляторе iPhone 6, вероятно, потому, что Xcode предполагает, что iOS на устройстве, по крайней мере, iOS 7.0.

1

У меня был такой же вопрос. То, как я работал над симулятором iPhone, было путем изменения моего местоположения на Simulator: Debug -> Location. То есть, он был установлен на «Apple» по умолчанию, я просто изменил его на Bicycle Ride. И добавив разрешение NSLocationWhenInUseUsageDescription в Info.plist.

Это сработало для меня

Смежные вопросы