2016-05-05 50 views
10

後我使用谷歌PlaceAutoComplete方法來獲取在文本框輸入Addess的建議。谷歌自動完成功能崩潰呼叫

func placeAutocomplete(text:String) { 
      let placesClient = GMSPlacesClient() 
      let filter = GMSAutocompleteFilter() 
      filter.type = .Address 

    placesClient.autocompleteQuery("New Delhi", bounds: nil, filter: nil) { (results, error) in 
     guard error == nil else { 
      print("Autocomplete error \(error)") 
      return 
     } 

     self.addressArray.removeAll() 
     for result in results! { 


      self.addressArray.append(result.attributedFullText.string) 
      print("Result \(result.attributedFullText.string) with placeID \(result.placeID)") 
     } 

    } 

} 

當我打電話給這個方法。它崩潰,說下面的錯誤。

Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSCFDictionary boolValue]: unrecognized selector sent to instance 0x7fe338f01e40' 

我試圖找到使用異常斷點,但不起作用。 可以在任何有想法,我哪裏錯了?

+0

如果您修改代碼以目前由谷歌提出的一個(https://developers.google.com/places/ios-api/autocomplete#call_gmsplacesclient)它仍然崩潰?請嘗試完全相同的代碼,但不添加任何內容到addressArray並出錯:NSError ?.一旦你嘗試了這個,請讓我知道它是否也失敗了。 –

+0

是的。即使通過使用谷歌代碼來自動完成,它也會崩潰 –

回答

1

我已經在plist中校正在應用程序傳輸安全設置「允許任意負載」解決了這個問題。我鍵入它真實的,但它的類型是布爾設置字符串,而不是

0

某處一個的NSDictionary被傳遞給代碼在那裏它期待一個東西,可以被解釋爲一個布爾如一個NSString或NSNumber的。我在你提供的代碼中沒有看到類似的東西。如果異常斷點不起作用,我會嘗試在某處添加正常斷點,並跨越代碼,直至崩潰。您也可以嘗試刪除某些部分和代碼,看是否崩潰時仍然發生,這會讓你縮小你的代碼的部分是責備什麼。