Google Places Current Place 问题在 XCode 6.4 中不起作用

Issue with Google Places Current Place not working in XCode 6.4

我正在使用 Xcode 6.4,Swift 版本 1.2 开发一个 iOS 应用程序。

我正在尝试在我的应用程序中使用 Google Places API 的功能 Current Place,以便获得靠近用户的地点列表,然后将它们显示在 tableView 中。为了猜测位置,我创建了这个函数,它会在每次搜索栏中的文本发生变化时激活,并使用实时调整的建议填充一个名为 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()
        }
    })
    }
    }

据我所知,函数正确启动:每次文本更改时我都会收到 "before query" 消息。但是,我既没有得到 "error",也没有得到 "query ended",这似乎意味着查询永远不会启动。我不知道为什么:API 键是正确的,当 GMSPlacesClient 初始化时(在 ViewDidLoad 中),我什至在控制台中的 Google Maps SDK 版本上收到一条消息,所以我假设整合有效。

感谢任何意见!

谢谢

对于那些可能 运行 遇到相同问题的人来说,问题似乎出在模拟器假定模拟设备具有的 iOS 版本上。简单的说,这个问题在iPhone6模拟器上没有出现,可能是因为Xcode假设设备上的iOS至少是iOS7.0.

我也遇到了同样的问题。 我让它在 iPhone 模拟器上工作的方法是改变我在模拟器上的位置:调试 -> 位置。也就是说,它默认设置为'Apple',我只是将其更改为骑自行车。 并通过在 Info.plist.

中添加 NSLocationWhenInUseUsageDescription 权限

对我有用