繁体   English   中英

在设备上运行时,GMSPlace Picker中的应用程序崩溃。(iOS 8.3)

[英]App Crash in GMSPlace Picker while running on device.(iOS 8.3)

我正在使用以下代码按照Google的建议选择位置

https://developers.google.com/places/ios-api/placepicker

    var placePicker: GMSPlacePicker?

    override func viewDidLoad()
    {
        super.viewDidLoad()
        self.pickPlace()
    }

  func pickPlace()
    {
        let center = CLLocationCoordinate2DMake(51.5108396, -0.0922251)
        let northEast = CLLocationCoordinate2DMake(center.latitude + 0.001, center.longitude + 0.001)
        let southWest = CLLocationCoordinate2DMake(center.latitude - 0.001, center.longitude - 0.001)
        let viewport = GMSCoordinateBounds(coordinate: northEast, coordinate: southWest)
        let config = GMSPlacePickerConfig(viewport: viewport)
        placePicker = GMSPlacePicker(config: config)

        placePicker?.pickPlaceWithCallback({ (place: GMSPlace?, error: NSError?) -> Void in
            if let error = error
            {
                print("Pick Place error: \(error.localizedDescription)")
                return
            }

            if let place = place
            {
                print("Place name \(place.name)")
                print("Place address \(place.formattedAddress)")
                print("Place attributions \(place.attributions)")
                self.navigationController?.popToRootViewControllerAnimated(true)


            } else
            {
                print("No place selected")
            }
        })
    }

在此处输入图片说明 此代码的问题是它可以在模拟器上完美运行,但是在设备iOS 8.3上崩溃而没有给出任何消息

将NSError更改为Error

placePicker?.pickPlaceWithCallback({ (place: GMSPlace?, error: Error?)

将它们都导入AppDelegate类中

import GoogleMaps
import GooglePlaces

并且,您需要在didFinishLaunchingWithOptions中同时设置它们

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {

        GMSServices.provideAPIKey("Your key")
        GMSPlacesClient.provideAPIKey("Your key")

        return true
    }

只有在模拟器中对其进行测试后,我才能使用设备看到错误消息

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM