使用未解析的标识符' GMSPlacesClient'在xcode 7.3.1中

时间:2016-08-05 06:34:30

标签: ios swift google-maps

func searchBar(searchBar: UISearchBar,
    textDidChange searchText: String){

        let placesClient = GMSPlacesClient()
        placesClient.autocompleteQuery(searchText, bounds: nil, filter: nil) { (results, error:NSError?) -> Void in
            self.resultsArray.removeAll()
            if results == nil {
                return
            }
            for result in results!{
                if let result = result as? GMSAutocompletePrediction{
                    self.resultsArray.append(result.attributedFullText.string)
                }
            }
            self.searchResultController.reloadDataWithArray(self.resultsArray)
        }
}

我使用此方法在Google地图中搜索地址。但是发现Use of unresolved identifier 'GMSPlacesClient'错误。我怎么能解决这个问题?

2 个答案:

答案 0 :(得分:12)

如果使用cocoapod,则需要添加pod' GooglePlaces'。 并导入GooglePlaces。

答案 1 :(得分:3)

当您的新类与另一个目标具有不同的目标时,可能会发生

Use of unresolved identifier 'GMSPlacesClient' 错误。在thread中声明它可能有一个测试目标而另一个没有。对于这种情况,您必须在测试目标中包含所有类,或者不包括任何类。

blog还提供了错误的可能解决方案,“使用未解析的标识符”。将您班级的访问控制权更改为公开。此外,还要标记您打算使用public测试的任何方法。还要尝试将您希望能够编写单元测试的类添加到测试目标。

您还可以查看此related SO question。希望这有帮助!