2013-07-15 17 views
16

Tôi đã tích hợp SDK Google Maps với iOS bằng cách sử dụng Google Developers Console.iOS với Google Maps

Nhưng khi tôi chạy ứng dụng ngay bây giờ, Nó cho tôi lỗi sau.

ClientParametersYêu cầu không thành công, còn lại 3 lần thử (0 so với 5).

Error Domain=com.google.HTTPStatus Code=400 "The operation couldn’t be completed.(com.google.HTTPStatus error 400.)" UserInfo=0xb83c2a0 {data=<CFData 0xc13d600 [0xe7a4d8]>{length = 145, capacity = 256, bytes = 0x3c48544d4c3e0a3c484541443e0a3c54 ... 3c2f48544d4c3e0a}} 

và sau đó nó nói

Google Maps `SDK` for `iOS` cannot connect or validate APIKey: 
Error Domain=com.google.HTTPStatus Code=400 "The operation couldn’t be completed. 
(com.google.HTTPStatus error 400.)" UserInfo=0x94bf990 {data=<CFData 0x907df90 [0xe7a4d8]> 
{length = 145, capacity = 256, bytes = 0x3c48544d4c3e0a3c484541443e0a3c54 ... 3c2f48544d4c3e0a}} 

tôi đã yêu cầu cho phím và tôi đang sử dụng cùng một khóa 40 ký tự. Tôi cũng đã thử tạo lại khóa và sau đó sử dụng nó. Tôi đã tìm kiếm trên mạng, một số người nói rằng "google SDK cho iOS" nên được bật trong "dịch vụ". Điều đó cũng được kích hoạt trong trường hợp của tôi.

Nhưng không có gì hiệu quả. Có ai đó nhìn thấy cùng một vấn đề?

Trả lời

22

bó của tôi là không chính xác. Tôi đã thay đổi gói tại Google Maps Console, sau đó tạo khóa mới.

+5

Tạo khóa mới là một bước quan trọng. – apb

+0

Tôi đã thay đổi tên dự án của mình, tên này tự động thay đổi Mã định danh nhóm. Bây giờ tôi đã tạo dịch vụ Map mới với bộ nhận dạng Bundle đã thay đổi.Thanks rất nhiều .. :) – mavericks

3

Tôi đã gặp vấn đề tương tự với API KEY, cho đến khi tôi nhận ra rằng tôi đã sử dụng các dấu ngoặc không cần thiết trong khởi tạo API API. Hãy chắc chắn để viết một cái gì đó như:

[GMSServices provideAPIKey:@"XXXXXX"]; 

thay vì:

[GMSServices provideAPIKey:@"{XXXXXX}"]; 
4

Bạn chỉ cần xác minh xem khóa của bạn có chính xác không và nếu mã nhận diện gói của bạn chính xác trong trình quản lý google api ... cho điều này, bạn có thể kiểm tra mã nhận diện gói của mình dễ dàng đặt dòng này trong một số giao diện ban đầuXem chế độ xemDidLoad ..

NSLog(@"Current identifier: %@", [[NSBundle mainBundle] bundleIdentifier]); 

Nếu mọi thứ ổn, vấn đề của bạn vẫn tiếp tục, chỉ cần chờ ... phím mất khoảng 1 đến 2 giờ để đứng dậy và quên điều đó về email trên Google khi bạn bật khóa. Không làm được!

2

Nguyên nhân của vấn đề:

Nguyên nhân 1: Có thể bó id của google giao diện điều khiển và ứng dụng của bạn không phù hợp (gói ứng dụng id và google console bó id nên giống nhau)..

Giải pháp: Các bước a: GoTo google console và đăng nhập bằng tài khoản google ứng dụng của bạn.

cho việc tìm kiếm chìa khóa :: mở google console> chọn dự án của bạn> API & Auth> Credential

b: thay đổi bó id và tái tạo quan trọng.

c: thay thế khóa trước đó bằng khóa được tạo mới của bạn. [GMSServices provideAPIKey: @ "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"];

Nguyên nhân 2: Có thể khóa không khớp với phím điều khiển google của bạn.

Giải pháp: Chỉ cần thay thế khóa ứng dụng của bạn bằng phím điều khiển google. [GMSServices provideAPIKey: @ "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"];

Lưu ý: Đảm bảo id gói ứng dụng và id gói google console của bạn giống nhau.

0

Đối với những người tương lai như nhiều người đã đề cập đến điều này có thể được gán cho id gói, trong trường hợp của tôi, mặc dù mã nhận dạng trên iTunes Connect khớp với một trên google console, ứng dụng thực tế của tôi có một số nhận dạng khác trong XCode trong Nhận dạng chung/danh tính/nhận dạng nhóm, id phải nhất quán trong Xcode, iTunes Connect, Trung tâm thành viên, Google Console và Xcode.