在Swift iOS中没有调用Google Places Callback

时间:2015-08-08 10:04:25

标签: ios swift google-maps sdk

我正在使用GoogleMaps SDK(地图和地点)。由于某种原因,未调用以下回调。我把记录器放在那里但没有任何反应。

var placesClient : GMSPlacesClient?

...


func run(){
    self.placesClient?.currentPlaceWithCallback({ (list: GMSPlaceLikelihoodList?, error: NSError?) -> Void in
       if let error = error {
           println("error: \(error.description)")
           return
       }

       if let list = list {
           self.renderList(list)
       }
    })
}

由于某种原因,不会调用 currentPlaceWithCallback 中的块。昨天它发生了,因为我的API有一个错误的包标识符,在更改它开始工作之后。但今天它停了下来。

知道为什么会这样吗?此外,我们是否接触过Google的任何API日志?

1 个答案:

答案 0 :(得分:1)

我在iPhone 6设备和iPhone 6模拟器上遇到了同样的问题。

  1. 修复是在Info.plist中添加NSLocationWhenInUseUsageDescription权限!但是,它仅适用于我的iPhone 6设备,而不是模拟器。

    如Google地方指南中所述: (https://developers.google.com/places/ios-api/start

    请注意,由于此示例需要访问设备的位置以获取当前位置,因此您需要在项目的Info.plist文件中设置NSLocationWhenInUseUsageDescription键以及相应的说明文本。有关详细信息,请参阅获取当前位置的指南。

  2. 现在,我在 iPhone模拟器上工作的方式是改变我在模拟器上的位置:调试 - >位置即可。也就是说,它默认设置为'Apple',我只是将其改为Bicycle Ride。

  3. 它对我有用,可能不适合所有人。