2015-08-03 17 views
25

Tôi muốn thêm GoogleMaps vào dự án iOS của mình nhưng tôi không muốn sử dụng CocoaPods. Có cách nào để đạt được điều đó không?GoogleMaps mà không cần CocoaPods

+0

bạn không bị buộc phải sử dụng cocoapod hoặc bất kỳ hệ thống theo dõi phiên bản nào. bạn cần tải xuống repo từ _GitHub_ và thêm các tệp vào dự án theo cách thủ công. – holex

+0

Kể từ khi Cocoapods bao giờ là một yêu cầu Oo – TheCodingArt

+0

@holex theo như tôi biết không phải là một - cho iOS ít nhất: https://github.com/googlemaps?page=1 .. bạn có liên kết đến một hay không nó tồn tại? – user2243357

Trả lời

70

Chắc chắn có:

Làm sao tôi làm điều đó (hữu ích cho bất kỳ thư viện bạn cần)

  • Chuyển đến nhóm bạn cần, trong trường hợp này: https://cocoapods.org/pods/GoogleMaps
  • Nhấp vào liên kết "Xem Podspec" bên dưới Thư viện ở góc dưới bên phải
  • Bạn sẽ được đưa đến podspec.json
  • Ở cuối JSON, tìm khóa "nguồn" và sử dụng url được cung cấp cho tải xuống SDK.

Nếu bạn cần hướng dẫn về cách cài đặt theo cách thủ công, bạn có thể sử dụng webbackitea waybackmachine và đặt url tương ứng, đặt ngày trước đó. Tôi sẽ giúp bạn tiết kiệm một số thời gian:

Thêm Google Maps theo cách cũ:

  1. Launch Xcode và hoặc mở một dự án hiện có, hoặc tạo một dự án mới.
    • Nếu bạn mới sử dụng iOS, hãy tạo một ứng dụng xem đơn và đảm bảo sử dụng tính năng đếm tham chiếu tự động được bật.
  2. Kéo gói GoogleMaps.framework vào dự án của bạn. Khi được nhắc, hãy chọn Sao chép các mục vào thư mục của nhóm đích.
  3. Nhấp chuột phải vào GoogleMaps.framework trong dự án của bạn và chọn Hiển thị trong trình tìm kiếm.
  4. Kéo GoogleMaps.bundle từ thư mục Tài nguyên vào dự án của bạn. Khi được nhắc, đảm bảo Sao chép các mục vào thư mục của nhóm đích không được chọn.
  5. Chọn dự án của bạn từ Dự án Điều hướng và chọn mục tiêu của ứng dụng của bạn.
  6. mở tab giai đoạn xây dựng, và trong phạm vi liên kết nhị phân với Libraries, thêm khung sau:
    • AVFoundation.framework
    • CoreData.framework
    • CoreLocation.framework
    • CoreText.framework
    • GLKit.framework
    • ImageIO.framework
    • libC++. Dylib
    • libicucore.dylib
    • libz.dylib
    • OpenGLES.khuôn khổ
    • QuartzCore.framework
    • SystemConfiguration.framework
  7. Chọn dự án của bạn, chứ không phải là một mục tiêu cụ thể, và mở tab Cài đặt Xây dựng.
    • Trong phần Cờ kết nối khác, thêm -ObjC. Nếu các cài đặt này không hiển thị, hãy thay đổi bộ lọc trong thanh Cài đặt xây dựng từ Cơ bản thành Tất cả.
  8. Cuối cùng, thêm khóa API của bạn vào AppDelegate.
    • #import <GoogleMaps/GoogleMaps.h>
    • Thêm dòng sau vào phương pháp application:didFinishLaunchingWithOptions: của bạn, thay thế API_KEY với khóa API của bạn. [GMSServices provideAPIKey:@"API_KEY"];

Thêm dòng sau vào phương pháp application:didFinishLaunchingWithOptions: của bạn, thay thế API_KEY với khóa API của bạn.

[GMSServices provideAPIKey:@"API_KEY"]; 
+8

Bạn cũng cần có CoreBluetooth.framework và Accelerate.framework, nếu không bạn sẽ nhận được các lỗi biểu tượng không xác định. Thử nghiệm trên Xcode 7 cho iOS 9 – marcos1490

+1

Tôi đã làm theo hướng dẫn này và đã cài đặt khung theo cách thủ công - cảm ơn thông tin! Bây giờ tôi đã có một vấn đề mà tôi không thể có được ứng dụng của tôi để biên dịch, lỗi là: ld: khung không tìm thấy GoogleMaps cho kiến ​​trúc x86_64 clang: error: linker command failed with exit code 1 (use -v to see invocation) Bất kỳ đề xuất nào? – edcs

+0

Cảm ơn vì điều này! Theo podspec mới nhất [link] (https://github.com/CocoaPods/Specs/blob/master/Specs/GoogleMaps/1.10.5/GoogleMaps.podspec.json), bạn cũng cần thêm khung công tác CoreGraphics. –

2
  1. https://www.gstatic.com/cpdc/aa3052925ceeea2d-GoogleMaps-1.13.2.tar.gz Sao chép và Mở url này.

  2. Kéo tới dự án Xcode của bạn GoogleMaps.framework.

    * chọn Copy mục vào thư mục nhóm đích

  3. Nhấp chuột phải vào GoogleMaps.framework -Show trong công cụ tìm

  4. Tài Bên trong thư mục GoogleMaps.bundle, Kéo tiện ích này để dự án (* Không chọn bản sao mục).

  5. nhập Vài FrameWork

    • CoreBluetooth.framework
    • OpenGLES.framework
    • ImageIO.framework
    • CoreData.framework
    • CoreText.framework
    • QuartzCore.framework
    • SystemConfiguration.fr amework
    • GLKit.framework
    • CoreLocation.framework
    • Security.framework
    • Accelerate.framework
    • libC++ abi.tbd
    • libC++. 1.tbd
    • libc.tbd
    • libicucore.tbd
  6. Chọn dự án của bạn mở tab Cài đặt Xây dựng. Trong phần Other Linker Flags thêm -ObjC vào cả hai. Screen shot of adding -ObjC

  7. nhập khẩu

    Thêm dòng sau vào ứng dụng của bạn: didFinishLaunchingWithOptions: Phương pháp, thay thế API_KEY với khóa API của bạn. [GMSServices provideAPIKey: @ "API_KEY"];

    (* get api key https://developers.google.com/maps/documentation/ios-sdk/places#whats_in_the_api_name_ios_places)

    Xin vui lòng cho tôi biết bất kỳ lỗi bạn đã được tìm thấy. Nó hoạt động cho Xcode 7 +, iOS 9+.

Các vấn đề liên quan