iOS에서 프리미엄 플랜 시작하기

Google Maps API 프리미엄 플랜 라이선스는 Google Maps SDK for iOS에 대해 향상된 지원을 제공합니다. 이 문서에서는 프리미엄 플랜으로 Google Maps SDK for iOS를 사용하는 iOS 앱을 만드는 방법에 대해 알려줍니다.

개요

이 페이지의 지시에 따라 SDK를 다운로드하고, 프로젝트를 설정하고, 지도를 추가합니다. 다음은 필요한 단계를 요약한 내용입니다.

  1. Xcode 및 SDK를 설치합니다.
  2. API 키를 가져옵니다.
  3. 앱에 API 키를 추가합니다.
  4. 지도를 추가합니다.

Xcode 및 SDK 설치

최신 Xcode 버전 가져오기

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

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 시작하기를 참조하세요.

API 키 가져오기

Google Maps SDK for iOS에 앱을 인증하려면 앱 특정 번들 식별자로 제한된 API 키가 필요합니다. 이 조합은 iOS 제한 API 키를 만듭니다.

아래 버튼을 클릭합니다. 이 버튼은 API 키를 획득하는 과정을 안내합니다. iOS 제한이 있는 API 키가 프로젝트에 이미 있으면, 이 키를 사용할 수도 있습니다. 중요: 프로젝트 드롭다운 메뉴에서 Google Maps API 프리미엄 플랜 구매 시 생성된 프로젝트를 선택하세요. 프로젝트 이름은 Google Maps APIs for Business 또는 Google Maps for Work 또는 Google Maps로 시작합니다.

키 가져오기

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

  1. Google API Console로 이동합니다.
  2. 프로젝트 드롭다운 메뉴에서 Google Maps Premium 프로젝트를 선택합니다.*
  3. Continue를 클릭합니다.
  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 도움말을 참조하세요.

앱에 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"];

지도 추가

아래 코드는 기존 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 키를 제공했는지 확인합니다.

추가 정보

특성 요구사항

애플리케이션의 법적 고지사항 섹션에 특성 텍스트를 포함해야 합니다. 법적 고지사항은 독립적인 메뉴 항목 또는 "정보" 메뉴 항목 중 하나로 포함하는 것이 좋습니다.

특성 텍스트는 GMSServices.openSourceLicenseInfo()를 호출하여 얻을 수 있습니다.

지원 플랫폼

프리미엄 플랜과 함께 배포된 Google Maps SDK for iOS를 사용하여 iOS 애플리케이션을 개발하는 경우 다음 항목이 필요합니다.

  • Xcode 7.3 이상
  • iOS SDK 8.0 이상

이 SDK를 사용하여 개발한 애플리케이션은 iOS 7.0 이상에서 작동합니다.

버전 비교

다음 표에서는 표준 Google Maps SDK for iOS를 사용할 때와 프리미엄 플랜으로 SDK를 사용할 때의 주요 차이점에 대해 설명합니다.

  표준 Google Maps SDK for iOS 프리미엄 플랜
지원 채널 커뮤니티 기반 지원 프리미엄 지원에 액세스
약관 Google Maps/Google Earth API 서비스 약관을 따릅니다. Google Maps API 프리미엄 플랜 사용 약관을 따릅니다.

문서

Google Maps SDK for iOS에 대한 자세한 내용은 이 사이트에서 제공하는 개발자 및 참조 문서를 참조하세요.