모든 준비를 마쳤습니다!

개발을 시작하려면 개발자 문서로 이동하세요.

Google Maps SDK for iOS 활성화

개발을 시작하기 위해 Google Developers Console에서 우선적으로 해야 할 일을 몇 가지 소개하겠습니다.

  1. 프로젝트 생성 또는 선택
  2. Google Maps SDK for iOS 활성화
  3. 적합한 키 생성
계속

시작하기

iOS에서 Google 지도 작업을 시작하기 전에 Google Maps SDK for iOS를 다운로드하고 API 키가 있는지 확인해야 합니다.

각 릴리스에서 전체 릴리스 노트가 제공됩니다.

Google Maps API 프리미엄 플랜 라이선스로 Google Maps SDK for iOS를 사용한다면 프리미엄 플랜 시작 가이드 를 참조하세요.

1단계: Xcode 최신 버전 가져오기

Google Maps SDK for iOS를 사용하여 프로젝트를 빌드하려면 7.3 버전 이상의 Xcode가 필요합니다.

2단계: SDK 설치

CocoaPods 사용

Google Maps SDK for iOS는 CocoaPods pod로 제공됩니다. CocoaPods는 Swift 및 Objective-C Cocoa 프로젝트용 오픈 소스 종속성 관리자입니다.

CocoaPods 도구가 아직 없다면 터미널에서 다음 명령을 실행하여 macOS에 설치합니다. 자세한 내용은 CocoaPods 시작 가이드를 참조하세요.

sudo gem install cocoapods

Google Maps SDK for iOS의 Podfile을 생성하고 이를 사용하여 API와 종속성을 설치합니다.

  1. 아직 Xcode 프로젝트가 없으면 지금 생성하고 로컬 시스템에 저장합니다. (iOS 개발이 처음인 경우, Single View Application을 만듭니다.)
  2. 프로젝트 디렉토리에 Podfile이라는 이름의 파일을 만듭니다. 이 파일은 프로젝트의 종속성을 정의합니다.
  3. Podfile을 편집하고 종속성을 추가합니다. 다음은 Google Maps SDK for iOS 및 Places API for iOS(선택 항목)에 필요한 종속성이 포함된 예시입니다.
    source 'https://github.com/CocoaPods/Specs.git'
    target 'YOUR_APPLICATION_TARGET_NAME_HERE' do
      pod 'GoogleMaps'
      pod 'GooglePlaces'
    end

    프리미엄 플랜 고객은 또한 pod 'GoogleMaps/M4B'를 추가해야 합니다.

  4. Podfile을 저장합니다.
  5. 터미널을 열고 Podfile이 있는 디렉토리로 이동합니다.

    cd <path-to-project>
  6. pod install 명령을 실행합니다. 그러면 Podfile에 지정된 API가 설치되고, 해당 종속성이 있는 경우 함께 설치됩니다.

    pod install
  7. Xcode를 닫은 다음 (마우스를 두 번 클릭하여) 프로젝트의 .xcworkspace 파일을 열고 Xcode를 실행합니다. 지금부터는 .xcworkspace 파일을 사용하여 프로젝트를 열어야 합니다.

수동 설치

이 가이드에서는 GoogleMaps 프레임워크를 프로젝트에 수동으로 추가하고 Xcode에서 빌드 설정을 구성하는 방법을 보여줍니다.

  1. SDK 소스 파일을 다운로드합니다: GoogleMaps-2.0.1.
  2. 소스 파일의 압축을 풉니다.
  3. Xcode를 시작하고 기존 프로젝트를 열거나 새 프로젝트를 생성합니다. iOS를 처음 사용하는 경우, Single View Application을 만들고 Use Storyboards를 비활성화하고 Use Automatic Reference Counting을 활성화합니다.
  4. 다음 번들을 프로젝트로 드래그합니다. (메시지가 나타나면, Copy items if needed를 선택합니다.)
    • Subspecs/Base/Frameworks/GoogleMapsBase.framework
    • Subspecs/Maps/Frameworks/GoogleMaps.framework
    • Subspecs/Maps/Frameworks/GoogleMapsCore.framework

    프리미엄 플랜 고객은 Subspecs/M4B/Frameworks/GoogleMapsM4B.framework도 포함해야 합니다.

  5. 프로젝트에서 GoogleMaps.framework를 마우스 오른쪽 버튼으로 클릭하고 Show In Finder를 선택합니다.
  6. GoogleMaps.bundleResources 폴더에서 프로젝트로 드래그합니다. 메시지가 나타나면, Copy items into destination group's folder가 선택되지 않았는지 확인합니다.
  7. Project Navigator에서 프로젝트를 선택하고 애플리케이션의 대상을 선택합니다.
  8. Build Phases 탭을 열고 Link Binary with Libraries 내에서 다음 프레임워크를 추가합니다.
    • GoogleMapsBase.framework
    • GoogleMaps.framework
    • GoogleMapsCore.framework
    • GoogleMapsM4B.framework (프리미엄 플랜 고객 전용)
    • Accelerate.framework
    • CoreData.framework
    • CoreGraphics.framework
    • CoreLocation.framework
    • CoreText.framework
    • GLKit.framework
    • ImageIO.framework
    • libc++.tbd
    • libz.tbd
    • OpenGLES.framework
    • QuartzCore.framework
    • SystemConfiguration.framework
    • UIKit.framework
  9. 특정 대상을 선택하는 대신 프로젝트를 선택하고 Build Settings 탭을 엽니다. Other Linker Flags 섹션에서 -ObjC를 추가합니다. 이들 설정이 표시되지 않으면, Build Settings의 필터를 Basic에서 All로 변경합니다.

  10. Places API for iOS를 설치하려면 Places API for iOS 시작하기를 참조하세요.

4단계: API 키 가져오기

아래 버튼을 클릭합니다. 이 버튼은 Google Maps SDK for iOS를 활성화하고 API 키를 획득하는 과정을 안내합니다. iOS 제한 API 키가 프로젝트에 이미 있으면, 이 키를 사용할 수도 있습니다.

키 가져오기

또는 다음 단계를 수행하여 API 키를 가져옵니다.

  1. Google API Console로 이동합니다.
  2. 프로젝트를 생성하거나 선택합니다.
  3. Continue를 클릭하여 Google Maps SDK for iOS를 활성화합니다.
  4. Credentials 페이지에서 API 키를 가져옵니다.
    참고: iOS 제한이 있는 키가 있으면, 이 키를 사용할 수도 있습니다. 동일 프로젝트 내의 모든 iOS 애플리케이션에서 동일 키를 사용할 수 있습니다.
  5. API 키가 표시된 대화상자에서, Restrict key를 선택하여 API 키에 iOS 제한을 설정합니다.
  6. Restrictions 섹션에서 iOS apps를 선택한 다음, 앱의 번들 식별자를 입력합니다. 예: com.example.hellomap.
  7. Save를 클릭합니다.

    프로젝트의 API 키 목록에 새로운 iOS 제한 API 키가 나타납니다. API 키는 다음과 같은 문자열입니다.

    AIzaSyBdVl-cTICSwYKrZ95SuvNw7dbMuDt1KG0

Google API Console에서 기존 키를 찾을 수도 있습니다.

Google API Console 사용에 대한 자세한 내용은 API Console 도움말을 참조하세요.

5단계: 애플리케이션에 API 키 추가

Swift

다음과 같이 API 키를 AppDelegate.swift에 추가합니다.

  1. 다음 import 문을 추가합니다.
    import GoogleMaps
  2. 다음 코드를 application(_:didFinishLaunchingWithOptions:) 메서드에 추가하여, YOUR_API_KEY를 자신의 API 키로 대체합니다.
    GMSServices.provideAPIKey("YOUR_API_KEY")
  3. 또한 Places API를 사용 중인 경우, 여기에 표시된 것처럼 키를 다시 추가합니다.
    GMSPlacesClient.provideAPIKey("YOUR_API_KEY")

Objective-C

다음과 같이 API 키를 AppDelegate.m에 추가합니다.

  1. 다음 import 문을 추가합니다.
    @import GoogleMaps;
  2. 다음 코드를 application:didFinishLaunchingWithOptions: 메서드에 추가하여, YOUR_API_KEY를 자신의 API 키로 대체합니다.
    [GMSServices provideAPIKey:@"YOUR_API_KEY"];
  3. 또한 Places API를 사용 중인 경우, 여기에 표시된 것처럼 키를 다시 추가합니다.
    [GMSPlacesClient provideAPIKey:@"YOUR_API_KEY"];

6단계: 지도 추가

아래 코드는 기존 ViewController 객체에 간단한 지도를 추가하는 방법을 보여줍니다. 새 앱을 생성 중인 경우, 먼저 위의 설치 지침에 따라 새 Single View Application을 만듭니다. Use Storyboards는 비활성화하지만 Use Automatic Reference Counting(ARC)는 활성화합니다.

이제, 앱의 기본 ViewController 안에 몇 개의 메서드를 추가하거나 업데이트하고, GMSMapView의 인스턴스를 생성하고 초기화합니다.

Swift

import UIKit
import GoogleMaps

class YourViewController: UIViewController {

  // You don't need to modify the default init(nibName:bundle:) method.

  override func loadView() {
    // Create a GMSCameraPosition that tells the map to display the
    // coordinate -33.86,151.20 at zoom level 6.
    let camera = GMSCameraPosition.camera(withLatitude: -33.86, longitude: 151.20, zoom: 6.0)
    let mapView = GMSMapView.map(withFrame: CGRect.zero, camera: camera)
    mapView.isMyLocationEnabled = true
    view = mapView

    // Creates a marker in the center of the map.
    let marker = GMSMarker()
    marker.position = CLLocationCoordinate2D(latitude: -33.86, longitude: 151.20)
    marker.title = "Sydney"
    marker.snippet = "Australia"
    marker.map = mapView
  }
}

Objective-C

#import "YourViewController.h"
#import <GoogleMaps/GoogleMaps.h>

@implementation YourViewController

// You don't need to modify the default initWithNibName:bundle: method.

- (void)loadView {
  // Create a GMSCameraPosition that tells the map to display the
  // coordinate -33.86,151.20 at zoom level 6.
  GMSCameraPosition *camera = [GMSCameraPosition cameraWithLatitude:-33.86
                                                          longitude:151.20
                                                               zoom:6];
  GMSMapView *mapView = [GMSMapView mapWithFrame:CGRectZero camera:camera];
  mapView.myLocationEnabled = YES;
  self.view = mapView;

  // Creates a marker in the center of the map.
  GMSMarker *marker = [[GMSMarker alloc] init];
  marker.position = CLLocationCoordinate2DMake(-33.86, 151.20);
  marker.title = @"Sydney";
  marker.snippet = @"Australia";
  marker.map = mapView;
}

@end

애플리케이션을 실행합니다. 오스트레일리아 시드니를 중심으로 하나의 마커가 있는 지도가 나타나야 합니다. 마커는 보이지만 지도는 보이지 않는다면, API 키를 제공했는지 확인합니다.

7단계: API가 사용하는 URL 구성표 선언

iOS 9와 Xcode 7부터는 앱의 Info.plist 파일에서 구성표를 지정해서 앱이 열고자 하는 URL 구성표를 선언해야 합니다. Google Maps SDK for iOS는 사용자가 지도의 Google 로고를 클릭하면 Google 지도 모바일 앱을 엽니다. 따라서 앱이 관련 URL 구성표를 선언해야 합니다.

Google Maps SDK for iOS가 사용하는 URL 구성표를 선언하려면 Info.plist에 다음 줄을 추가합니다.

<key>LSApplicationQueriesSchemes</key>
<array>
    <string>googlechromes</string>
    <string>comgooglemaps</string>
</array>

다음 스크린샷은 Xcode 사용자 인터페이스의 구성을 보여줍니다.

Xcode에서 LSApplicationQueriesSchemes 구성

위의 선언이 없으면 사용자가 지도에서 Google 로고를 누를 때 다음 오류가 발생합니다.

-canOpenURL: failed for URL: "comgooglemaps://" - error: "This app is not allowed to query for scheme comgooglemaps"
-canOpenURL: failed for URL: "googlechromes://" - error: "This app is not allowed to query for scheme googlechromes"

이러한 오류를 제거하려면 위에 설명된 것처럼 Info.plist에 선언을 추가합니다.

Google Maps SDK 데모 프로젝트로 실험

pod try GoogleMaps를 사용하여 SDK 데모를 실행합니다. 자세한 내용은 코드 샘플 가이드를 참조하세요.

이전 버전에서 업그레이드

다음 지침에 따라 기존 프로젝트를 가장 최신 버전의 Google Maps SDK for iOS로 업데이트합니다.

참고: Google Maps SDK for iOS의 1.9.2 이전 버전은 정적 프레임워크가 포함된 zip 파일로 제공되었습니다. CocoaPods pod에서 최신 버전을 설치하는 옵션도 있었습니다. 1.10.0 버전 이후부터 Google Maps SDK for iOS는 CocoaPods를 통해서만 설치할 수 있습니다.

이전에 정적 프레임워크를 포함한 zip 파일로 Google Maps SDK for iOS를 설치한 경우:

  1. Xcode 프로젝트에서 이전 프레임워크에 대한 참조를 모두 제거합니다.
  2. 위에 언급된의 안내에 따라 CocoaPods로 Google Maps SDK for iOS를 설치합니다.
  3. 업그레이드에 따라 필요한 변경 사항이 있으면 적용합니다. 각 릴리스의 변경 사항 목록은 릴리스 노트를 참조하세요.
  4. Product > Clean을 선택한 다음, Product > Build를 선택하여 프로젝트를 정리하고 다시 빌드합니다.

이전에 Google-Maps-iOS-SDK pod에서 Google Maps SDK for iOS를 설치한 경우:

  1. pod의 이름을 GoogleMaps로 변경합니다.
  2. pod install을 실행합니다.
  3. 업그레이드에 따라 필요한 변경 사항이 있으면 적용합니다. 각 릴리스의 변경 사항 목록은 릴리스 노트를 참조하세요.
  4. Product > Clean을 선택한 다음, Product > Build를 선택하여 프로젝트를 정리하고 다시 빌드합니다.

이전에 GoogleMaps pod에서 Google Maps SDK for iOS를 설치한 경우:

  1. 버전을 제한하는 요소가 있는지 Podfile을 확인하고 버전을 제거하거나 업데이트하여 필요한 버전을 확보합니다. 버전 번호 목록은 릴리스 노트를 참조하세요.
  2. pod update를 실행합니다.
  3. 업그레이드에 따라 필요한 변경 사항이 있으면 적용합니다. 각 릴리스의 변경 사항 목록은 릴리스 노트를 참조하세요.
  4. Product > Clean을 선택한 다음, Product > Build를 선택하여 프로젝트를 정리하고 다시 빌드합니다.

다음에 대한 의견 보내기...

Google Maps SDK for iOS
Google Maps SDK for iOS
도움이 필요하시나요? 지원 페이지를 방문하세요.