이전 Google Maps Mobile SDK for Work: iOS

이전 Google Maps APIs for Work 또는 Google Maps API for Business 라이선스를 보유한 고객은 Google Maps Mobile SDK for Work의 일부분으로 Google Maps SDK for iOS를 구매합니다. 이문서 섹션에서는 해당 SDK의 설정에 대해 설명합니다.

이 페이지는 이전 Maps APIs for Work 또는 Maps API for Business 라이선스가 있는 고객만을 위한 것입니다. 이 페이지는 2016년 1월에 출시된 새 Google Maps API 프리미엄 플랜가 있는 고객에게는 적용되지 않습니다.

개요

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

  1. SDK를 다운로드합니다.
  2. API 키를 AppDelegate에 추가합니다.
  3. 지도를 추가합니다.

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 키는Google Maps Mobile SDK for Work 고객을 식별하고 애플리케이션에 대한 지원 및 구입한 할당량을 활성화합니다. 애플리케이션 패키지 이름을 등록하여 Google Maps Mobile SDK 서비스를 활성화한 계정에서 APIK 키를 생성할 수 있습니다.

계정에서

Google Maps Mobile SDK 서비스가 활성화되어 있는지 확인

Google Maps Mobile SDK for Work에 가입하면 Google Cloud Support 팀이 Google Maps Mobile SDK 서비스를 활성화합니다. 서비스는 새 프로젝트에 대해 활성화됩니다.

참고: 프로젝트의 최초 소유자에게만 Google Maps Mobile SDK 서비스가 표시됩니다. 추가 프로젝트 소유자에 대해 승인을 요청하려면 Google Cloud Support Portal에 기술 외 케이스를 제출하세요.

다음과 같이 계정에서 필수 API가 활성화되어 있는지 확인합니다.

  1. Google API Console을 방문하여 Google 계정으로 로그인합니다.
  2. Google Maps Mobile SDK for Work를 주문했을 때 생성된 Google Maps Mobile SDK for Work 프로젝트를 선택합니다 . 프로젝트 이름은 Google Maps APIs for Business 또는 Google Maps for Work 또는 Google Maps로 시작합니다. SDK 액세스 권한을 아직 구매하지 않은 경우 [판매부]에 문의하세요.
  3. DashboardAPIs 목록에서 Google Maps Mobile SDK이 활성화되었는지 확인합니다.

Google API Console에서 API 키 가져오기

프로젝트에서 Google Maps Mobile SDK for Work 서비스를 활성화한 후 새 API 키를 생성해야 합니다.

  1. Google API Console 자격 증명 페이지를 방문하여 Google 계정으로 로그인합니다.

  2. Google Maps Mobile SDK for Work를 주문했을 때 생성된 Google Maps Mobile SDK for Work 프로젝트를 선택합니다 . 프로젝트 이름은 Google Maps APIs for Business 또는 Google Maps for Work 또는 Google Maps로 시작합니다. SDK 액세스 권한을 아직 구매하지 않은 경우 [판매부]에 문의하세요.
  3. API keys 목록에서 iOS 제한이 포함된 키를 찾습니다.
  4. 프로젝트에 iOS 제한 API 키가 없다면 Create credentials > API key를 선택하여 지금 API 키를 생성합니다.
  5. 결과 대화상자에서 Restrict key를 선택합니다.
  6. Restrictions 섹션에서 iOS apps을 선택한 다음 하나 이상의 앱 번들 식별자를 입력합니다. 예: com.example.hellomap.
  7. Save를 클릭합니다.

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

    AIzaSyBdVl-cTICSwYKrZ95SuvNw7dbMuDt1KG0

앱에 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 키를 제공했는지 확인합니다.

추가 정보

Google Places API for iOS

Google Places API for iOS는 프로젝트에 자유롭게 사용될 수 있지만, 이 API는 Google Maps Mobile SDK for Work라이선스에 포함되지 않습니다. 즉, Google Places API for iOS는 향상된 지원에 포함되지 않고 또한 Google Maps Mobile SDK for Work 라이선스로 구매한 SLA에 포함되지 않습니다. 또한 모든 사용은 무료 API의 사용 약관에 따라 관리되며 Google Maps Mobile SDK for Work 할당량에는 카운트되지 않습니다. Google Places API for iOS를 활성화하는 방법에 대한 자세한 내용은 Google 담당자에게 문의하세요.

특성 요구사항

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

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

지원 플랫폼

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

  • Xcode 7.3 이상
  • iOS SDK 8.0 이상

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

버전 비교

다음 표에서는 표준 Google Maps SDK for iOS를 사용할 때와 Google Maps Mobile SDK for Work로 SDK를 사용할 때의 주요 차이점에 대해 설명합니다.

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

문서

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