28

I have incorporated the following:

  1. Tried importing both the GoogleMaps/GoogleMaps.h as well as the GoogleMapsM4B/GoogleMaps.h files through an Obj-C Bridging Header
  2. Manually typed out the iOS API key in my AppDelegate.swift (didFinishLaunchingWithOptions) method.
  3. Cleaned the project (command+shift+k)
  4. Closed/relaunched Xcode
  5. Uninstalled/reinstalled Xcode

And pretty much everything else other people have suggested. I have spent two days straight trying to fix this problem. Does anyone know a solution to this problem?

The console complaint is:

> "2015-08-17 18:02:19.899 Project[608:10014] ClientParametersRequest
> failed, 3 attempts remaining (0 vs 6). Error
> Domain=com.google.HTTPStatus Code=400 "The operation couldn’t be
> completed. (com.google.HTTPStatus error 400.)" UserInfo=0x790bc050
> {data=<CFData 0x7925cb40 [0x22da9a8]>{length = 145, capacity = 256,
> bytes = 0x3c48544d4c3e0a3c484541443e0a3c54 ... 3c2f48544d4c3e0a}}
> 2015-08-17 18:02:19.899 randoPracty[608:10014] Google Maps SDK for iOS
> (M4B) version: 1.10.17867.0 2015-08-17 18:02:19.959
> randoPracty[608:10014] ClientParametersRequest failed, 2 attempts
> remaining (0 vs 6). Error Domain=com.google.HTTPStatus Code=400 "The
> operation couldn’t be completed. (com.google.HTTPStatus error 400.)"
> UserInfo=0x7925cf40 {data=<CFData 0x79187b20 [0x22da9a8]>{length =
> 145, capacity = 256, bytes = 0x3c48544d4c3e0a3c484541443e0a3c54 ...
> 3c2f48544d4c3e0a}} 2015-08-17 18:02:24.406 randoPracty[608:10014]
> ClientParametersRequest failed, 1 attempts remaining (0 vs 6). Error
> Domain=com.google.HTTPStatus Code=400 "The operation couldn’t be
> completed. (com.google.HTTPStatus error 400.)" UserInfo=0x790f4c60
> {data=<CFData 0x786e5610 [0x22da9a8]>{length = 145, capacity = 256,
> bytes = 0x3c48544d4c3e0a3c484541443e0a3c54 ... 3c2f48544d4c3e0a}}
> 2015-08-17 18:02:32.797 randoPracty[608:10014] ClientParametersRequest
> failed, 0 attempts remaining (0 vs 6). Error
> Domain=com.google.HTTPStatus Code=400 "The operation couldn’t be
> completed. (com.google.HTTPStatus error 400.)" UserInfo=0x7925b390
> {data=<CFData 0x790f3760 [0x22da9a8]>{length = 145, capacity = 256,
> bytes = 0x3c48544d4c3e0a3c484541443e0a3c54 ... 3c2f48544d4c3e0a}}
> 2015-08-17 18:02:32.797 randoPracty[608:10014] Google Maps SDK for iOS
> (M4B) cannot connect or validate APIKey: Error
> Domain=com.google.HTTPStatus Code=400 "The operation couldn’t be
> completed. (com.google.HTTPStatus error 400.)" UserInfo=0x7925b390
> {data=<CFData 0x790f3760 [0x22da9a8]>{length = 145, capacity = 256,
> bytes = 0x3c48544d4c3e0a3c484541443e0a3c54 ... 3c2f48544d4c3e0a}}
> 2015-08-17 18:02:32.798 randoPracty[608:10014] Your key may be invalid
> for your bundle ID: com.User.ProjectName"
Mihir Oza
  • 2,768
  • 3
  • 35
  • 61
Avery Bentz
  • 287
  • 1
  • 3
  • 7
  • Refer http://stackoverflow.com/questions/32043284/ios-google-maps-plotting-multiple-markers-issuesinfo-window-and-marker-repeatin/32043675#32043675 – VRAwesome Aug 18 '15 at 06:50
  • 1
    I had the same problem. Resolved it with this solution: http://stackoverflow.com/a/20055384/5707279 (Google Maps SDK for iOS must be enabled for keys to work) – Ilya Odin Apr 06 '16 at 10:27
  • 1
    **Just Check this** Google Maps SDK for iOS must be enabled, Bundle ID must be same. finally just clean your project . It Worked for me. – Ravi Jul 04 '16 at 06:23

6 Answers6

38

Just enable "Google Maps SDK for iOS" for your project in Google Developers Console.

Jagat Dave
  • 1,643
  • 3
  • 23
  • 30
Michael Katkov
  • 2,256
  • 1
  • 20
  • 17
28

I too faced the same problem. First of all follow the steps below.

  1. Have all the steps mentioned in this link been followed by you?

  2. Though you are unable to get through, check your Bundle Identifier is matching with the one you used to create the key.

If everything is well and good, the problem is with the framework. Initially I too used the GoogleMapsM4B framework which didn't work for me. I downloaded the other framework which works fine for me from this link.

Add the new framework (GoogleMaps.framework) and remove the GoogleMapsM4B framework from the project. This solved my problem. Hope this helps you.

EDIT:

From version 1.10.0 onwards, the framework installation is supported only via cocoapods. And all zip downloads were removed for previous versions. Read "Migration from 1.9.2 or earlier:" section under "Version 1.10.0 - May 2015" in this link.

Dev
  • 1,215
  • 9
  • 17
  • I tried to find a download with that link. I have no luck. – htjohn Dec 25 '15 at 00:25
  • From version 1.10.0 onwards, the framework installation is supported only via cocoapods. And all zip downloads were removed for previous versions. Read "Migration from 1.9.2 or earlier:" section under "Version 1.10.0 - May 2015" in that link. – Dev Dec 26 '15 at 01:48
  • 1
    +100 for the well explained and simple answer, Mine was the bundle identifier – MBH Feb 03 '16 at 19:12
  • **Check bundle ID and clean your project .** Just do it ,This worked for me like a magic : – Ravi Jul 04 '16 at 06:20
  • bundle ID baby. Thanks for that! There goes a 10! – Braian Mellor Aug 26 '16 at 17:11
  • 1
    Thanks. The key for me was simply removing GoogleMapsM4B. After that, everything worked. I'm actually integrating both Maps and Places using Carthage via (https://github.com/leoneparise/GoogleMaps-Carthage & the Places project) and thought that might be the problem, but it was just removing the M4B. – markand Feb 08 '17 at 14:47
  • Another case of the M4B here, their documentation (https://developers.google.com/maps/premium/ios-get-started) explicitly says to Premium plan users to add it, so maybe it does not work with normal keys at all. >> Premium Plan customers must also add: pod 'GoogleMaps/M4B' – Efren Apr 27 '17 at 04:25
8

I had the same problem. In my case it was, that I had to manually activate the Google Maps SDK for iOS and Google Places SDK for iOS in the Overview section of Googles API Library.

The steps how to activate it are:

  1. Go to the Overview page in the API Library.
  2. Choose here Google Maps SDK for iOS and Google Places SDK for iOS.

enter image description here

  1. Choose at the top left, the second item. On the screenshot it's now enabled. Before it was disabled.

enter image description here

Maybe this helps someone as well.

Kind regards Matt

makle
  • 1,237
  • 1
  • 15
  • 21
3

Can you update your question to provide any more details? (xcode version, Google Maps Framework version, etc)

  1. Double check that your API key is valid for your bundle id on console.developer.google.com
  2. When running, check and see if any SSL errors are occurring in the console. In my case, I was having certificate problems with Google, and this interfered with my map tiles loading.
  3. Make sure you only have either the M4B framework OR the normal framework in your project. If you include both, I am pretty sure they are conflicting with each other.

Hope this helps out; it just randomly started working correctly in my case.

72A12F4E
  • 1,744
  • 1
  • 14
  • 28
  • My Xcode version is currently 6.4, the Google Maps framework version is GoogleMapsM4B-iOS-1.10.1... On console.developer.google.com my API key seems to be valid for my bundle id (no issues there). I added in the error to my question. – Avery Bentz Aug 17 '15 at 22:03
1

Check the Bundle identifier specified in the Xcode project target setting and the google project page where you created the google API key. both should match otherwise GMSServices.provideAPIKey(googleMapsAPiKey) will pass but you will get connection error

The operation couldn’t be completed. (com.google.HTTPStatus error 400.)

cramopy
  • 3,459
  • 6
  • 28
  • 42
Satheesh G
  • 61
  • 5
1

I faced this problem too and after an hour of Googling and juggling on #SO, I have come to know this little mistake:

If you have changed your API key (somewhere during the development)

[GMSPlacesClient provideAPIKey:@"YOUR_API_KEY"];

which you add to your didFinishLaunchingWithOptions: method in your AppDelegate.m file. Make sure it is the same as you used to activating the Google Places API here

Hope this may help to someone after trying every solution.

iHarshil
  • 739
  • 10
  • 22