我将Places Autocomplete或Places API与Maps,Google Login和Firebase RealtimeDatabase集成在一起。但是当我运行该应用程序时,错误提示: “操作无法完成。iOS的Places API未启用。有关如何启用iOS的Google Places API的信息,请参阅开发者指南(https://developers.google.com/places/ios-api/start)。
在以下情况之前,地方工作正常: 上周,我不得不放弃Firebase项目并创建一个新项目。 做了什么要求: -更改了GoogleServices-info.plist -客户编号 -url类型
我已经在我的Google Cloud Platform中启用了Google Places API。
在我的
application(didFinishLaunchingwithOptions:)
GMSServices.provideAPIKey("<key from project>")
GMSPlacesClient.provideAPIKey("<key from project>")
请记住,Google地图,Google登录和Firebase数据库都可以正常工作。 该项目也是由android版本共享的,而places api在那里也可以正常工作。 似乎无法找出问题所在。
答案 0 :(得分:6)
好吧,阿斯敏,今天早上我遇到了同样的问题,所以我有义务回答,因为我5个小时后就解决了!所以问题出在pod版本上。不推荐使用GooglePlaces 2.7.0,但是当您运行pod install
2.7.0时,安装的是当前版本3.0.2。一旦我意识到这一点,这就是我所做的。我打开终端,CD到我的项目文件夹,然后运行pod update
或更好的pod update --verbose
,以便我可以看到发生了什么。好吧,它有效!!吊舱已更新为3.0.2,现在一切正常。耶!我喜欢/讨厌编程!
NB:无论如何,如果您尝试了却不起作用,请运行update repo
,然后重复pod update
。
你有我的话;它会起作用
答案 1 :(得分:1)
在配置API密钥时,请确保您使用正确的Google帐户。另外,请确保您的密钥可用于iOS平台,再次检查是否同时启用了 if(URLListView.Items.Count == 0)
{
XtraMessageBox.Show("You have to get the main links first");
return;
}
if (GetInnerLinkBTN.Text == "Stop")
{
enablecontrols(true);
StopGettingInnerLink = true;
GetInnerLinkBTN.Text = "Start Get Innter Links";
}
else if (GetInnerLinkBTN.Text == "Start Get Innter Links")
{
enablecontrols(false);
StopGettingInnerLink = false;
GetInnerLinkBTN.Text = "Stop";
}
foreach (ListViewItem link in URLListView.Items)
{
string href = link.Text.ToString();
if (href.Trim() != string.Empty)
{
//XtraMessageBox.Show(href);
if (StopGettingInnerLink == true)
{
AddLog("Getting links has been stopped successfully!");
StopGettingInnerLink = true;
break;
}
else if(StopGettingInnerLink == false)
{
AddLog("Getting links from " + href);
// MainWebbrowser.Navigate(href);
runbrowserinthread(href);
await Task.Delay(5000);
AddLog("Giving the tool some rest for 5 seconds ! ");
}
}
AddLog("Scrapping inner links has been finished successfully!");
enablecontrols(true);
和Google Maps
,最后,确保您的包ID允许使用API密钥。
答案 2 :(得分:1)