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

참고: Google Maps Platform 프리미엄 플랜은 신규 가입이 불가능하며 신규 고객에게 제공되지 않습니다.

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

개요

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

  1. Xcode 및 SDK 설치
  2. API 키 가져오기
  3. 앱에 API 키 추가
  4. 지도 추가

Xcode 및 SDK 설치

Xcode 최신 버전 가져오기

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

SDK 설치

CocoaPods 사용

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

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

sudo gem install cocoapods

iOS용 Maps SDK를 위한 Podfile을 만들고 이를 사용하여 API와 종속 항목을 설치합니다.

  1. 아직 Xcode 프로젝트가 없으면 지금 만들어 로컬 시스템에 저장합니다. iOS용 앱을 처음 개발하는 경우 새 프로젝트를 만들고 iOS 앱 템플릿을 선택합니다. Xcode 11.7 이전 버전에서 단일 뷰 애플리케이션을 만듭니다.)
  2. 프로젝트 디렉터리에 Podfile 파일을 만듭니다. 이 파일은 프로젝트의 종속 항목을 정의합니다.
  3. Podfile을 수정하고 종속 항목을 추가합니다. 다음은 iOS용 Maps SDK 및 iOS용 Places SDK(선택사항)에 필요한 종속 항목이 포함된 예입니다.
    source 'https://github.com/CocoaPods/Specs.git'
    target 'YOUR_APPLICATION_TARGET_NAME_HERE' do
      pod 'GoogleMaps'
      pod 'GooglePlaces'
    end
  4. Podfile을 저장합니다.
  5. 터미널을 열고 Podfile이 포함된 디렉터리로 이동합니다.

    cd <path-to-project>
  6. pod install 명령어를 실행합니다. Podfile에 지정된 API가 API에 포함된 종속 항목과 함께 설치됩니다.

    pod install
  7. Xcode를 닫은 다음 프로젝트의 .xcworkspace 파일을 (더블클릭하여) 열어 Xcode를 실행합니다. 이 때부터는 .xcworkspace 파일을 사용하여 프로젝트를 열어야 합니다.

수동 설치

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

  1. SDK 소스 파일 GoogleMaps-3.10.0을 다운로드합니다.
  2. 소스 파일을 압축해제합니다.
  3. Xcode를 실행하고 기존 프로젝트를 열거나 새 프로젝트를 만듭니다. iOS를 처음 사용하는 경우단일 뷰 애플리케이션을 만들고 Use Storyboards(스토리보드 사용)을 사용 중지하고 Automatic Reference Counting(자동 참조 계산)을 사용 설정합니다.
  4. 다음 번들을 프로젝트로 드래그합니다(메시지가 표시되면 Copy items if needed, please use the same version as above(항목 복사 필요한 경우 위와 동일한 버전을 사용하세요)를 선택합니다.
    • GoogleMaps-x.x.x/Base/Frameworks/GoogleMapsBase.framework
    • GoogleMaps-x.x.x/Maps/Frameworks/GoogleMaps.framework
    • GoogleMaps-x.x.x/Maps/Frameworks/GoogleMapsCore.framework

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

  5. 프로젝트에서 GoogleMaps.framework를 마우스 오른쪽 버튼으로 클릭하고 Show In Finder(Finder에서 보기)를 선택합니다.
  6. Resources 폴더에서 GoogleMaps.bundle를 프로젝트로 드래그합니다. 메시지가 표시되면 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
    • CoreImage.framework
    • CoreLocation.framework
    • CoreTelephony.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. iOS용 Places SDK를 설치하려면 iOS용 Places SDK 시작하기를 참고하세요.

API 키 가져오기

iOS용 Maps SDK에 앱을 인증하려면 앱별 번들 식별자로 제한된 API 키가 필요합니다. 이 조합에 따라 iOS 제한된 API 키가 생성됩니다.

아래 버튼을 클릭하면 API 키를 가져오는 과정을 안내하는 내용이 표시됩니다. 프로젝트에 이미 iOS 제한이 있는 API 키가 있으면 이 키를 사용할 수도 있습니다. 중요: 프로젝트 드롭다운 메뉴에서 Google Maps Platform 프리미엄 플랜을 구매할 때 생성된 프로젝트를 선택해야 합니다. 프로젝트 이름은 비즈니스용 Google 지도 API, 업무용 Google 지도 또는 Google 지도로 시작합니다.

시작하기

또는 다음 단계에 따라 API 키를 가져옵니다.

  1. Google Cloud Platform Console로 이동합니다.
  2. 프로젝트 드롭다운 메뉴에서 프리미엄 플랜 프로젝트를 선택합니다.*
  3. 계속을 클릭합니다.
  4. 사용자 인증 정보 페이지에서 API 키를 가져옵니다.
    참고: iOS 제한이 있는 키가 있으면 이 키를 사용할 수도 있습니다. 동일한 프로젝트 내의 모든 iOS 애플리케이션에 동일한 키를 사용할 수 있습니다.
  5. API 키가 표시된 대화상자에서 키 제한을 선택하여 API 키에 iOS 제한을 설정합니다.
  6. 제한사항 섹션에서 iOS 앱을 선택한 다음 앱의 번들 식별자를 입력합니다. 예: com.example.hellomap
  7. 저장을 클릭합니다.

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

    AIzaSyBdVl-cTICSwYKrZ95SuvNw7dbMuDt1KG0

Google Cloud Platform Console에서 기존 키를 조회할 수도 있습니다.

Google Cloud Platform Console 사용에 대한 자세한 내용은 Google Cloud Platform 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에 간단한 지도를 추가하는 방법을 보여줍니다. 새 앱을 만드는 경우 먼저 위의 안내에 따라 SDK를 설치하고 새 프로젝트를 만든 다음 iOS 앱 템플릿을 선택합니다. 참고: 11.7에서는 단일 뷰 애플리케이션을 만듭니다.

이제 앱의 기본 ViewController 내에 메소드 몇 개를 추가하거나 업데이트하여 GMSMapView의 인스턴스를 만들고 초기화합니다.

Swift

/*
 * Copyright 2020 Google Inc. All rights reserved.
 *
 *
 * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
 * file except in compliance with the License. You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software distributed under
 * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
 * ANY KIND, either express or implied. See the License for the specific language governing
 * permissions and limitations under the License.
 */

import UIKit
import GoogleMaps

class ViewController: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view.
        // 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: self.view.frame, camera: camera)
        self.view.addSubview(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

/*
* Copyright 2020 Google Inc. All rights reserved.
*
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
* file except in compliance with the License. You may obtain a copy of the License at
*
*     http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software distributed under
* the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
* ANY KIND, either express or implied. See the License for the specific language governing
* permissions and limitations under the License.
*/

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

@interface ViewController ()

@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];
  // Do any additional setup after loading the view.
  // 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:self.view.frame camera:camera];
  mapView.myLocationEnabled = YES;
  [self.view addSubview: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()를 호출하여 저작자 표시 텍스트를 가져올 수 있습니다.

지원되는 플랫폼

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

  • Xcode 11.7 이상
  • iOS SDK 11.0 이상

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

버전 비교

다음 표에서는 표준 iOS용 Maps SDK 사용과 프리미엄 플랜을 통한 SDK 사용의 주요 차이점이 나와 있습니다.

  표준 iOS용 Maps SDK 프리미엄 플랜
지원 채널 커뮤니티 기반 지원 프리미엄 지원 이용
약관 Google Maps Platform 서비스 약관이 적용됨 Google Maps Platform 프리미엄 플랜 이용약관이 적용됨

문서

iOS용 Maps SDK에 대한 자세한 내용은 Google 사이트의 다른 곳에 있는 개발자 및 참조 문서를 참고하세요.