Google Places回调在Swift iOS中未被调用

4

我正在使用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个回答

1
我在我的iPhone 6设备和iPhone 6模拟器上遇到了同样的问题。
修复方法是在Info.plist中添加NSLocationWhenInUseUsageDescription权限!但是,它只在我的iPhone 6设备上有效,而不是模拟器。
如Google Place指南所述: (https://developers.google.com/places/ios-api/start
请注意,由于此示例需要访问设备位置以获取当前位置,因此您需要在项目的Info.plist文件中设置带有适当说明文本的NSLocationWhenInUseUsageDescription键。有关更多详细信息,请参阅获取当前位置指南。
现在,我让iPhone模拟器工作的方式是更改模拟器上的位置:Debug->位置。也就是说,默认情况下它设置为“Apple”,我只是将其更改为“骑自行车”。
这对我有效,但可能并非所有人都有效。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接