결제를 사용 설정하고 API 키를 생성한 후 Xcode를 설정할 준비가 된 것입니다. 프로젝트에 사용할 수 있습니다.
각각에 대한 출시 노트를 확인할 수 있습니다. 있습니다.
1단계: 필수 소프트웨어 설치하기
iOS용 Maps SDK를 사용하여 프로젝트를 빌드하려면 다음을 다운로드하여 설치해야 합니다.
- Xcode 버전 15.0 이상
2단계: Xcode 프로젝트 만들기 및 iOS용 Maps SDK 설치
Swift Package Manager
iOS용 Maps SDK는 을(를) 통해 설치할 수 있습니다. Swift Package Manager SDK를 추가하려면 기존의 iOS용 Maps SDK 종속 항목이 삭제되었습니다.
새 프로젝트 또는 기존 프로젝트에 SDK를 추가하려면 다음 단계를 따르세요.
-
Xcode
project
또는workspace
를 열고 File(파일) > 패키지 종속 항목 추가를 참조하세요. - URL에 https://github.com/googlemaps/ios-maps-sdk를 입력하고 Enter 키를 누릅니다. 패키지를 가져오고 '패키지 추가'를 클릭합니다.
-
특정
version
를 설치하려면 종속 항목 규칙 필드를 버전 기반 옵션입니다 새 프로젝트의 경우 최신 버전을 지정하고 '정확한 버전'을 사용하는 경우 옵션을 선택합니다. 완료되면 'Add Package'를 클릭합니다. -
Choose Package Products 창에서
GoogleMaps
을 확인합니다 (9.0.0 이전 버전의 경우GoogleMaps
,GoogleMapsBase
,GoogleMapsCore
)이(가) 추가될 예정 지정된main
타겟 완료되면 'Add Package'를 클릭합니다. -
설치를 확인하려면 대상의
General
창으로 이동합니다. 프레임워크, 라이브러리 및 삽입된 콘텐츠에서 설치된 패키지를 확인할 수 있습니다. 또한 '패키지 종속 항목' 섹션에서 '프로젝트 탐색기' 섹션의 패키지와 해당 버전을 확인합니다.
기존 프로젝트의 package
를 업데이트하려면 다음 단계를 따르세요.
9.0.0 이전 버전에서 업그레이드하는 경우
GoogleMapsBase
,GoogleMapsCore
, 업그레이드 후GoogleMapsM4B
의 비용이 청구됩니다. 다음 종속 항목을 삭제하지 마세요.GoogleMaps
자세한 내용은 버전 9.0.0 출시 노트Xcode 프로젝트 구성 설정에서 프레임워크, 라이브러리, 및 삽입된 콘텐츠를 선택합니다. 빼기 기호(-)를 사용하여 다음 프레임워크를 삭제합니다.
GoogleMapsBase
(9.0.0 이전 버전에서 업그레이드하는 경우에만)GoogleMapsCore
(9.0.0 이전 버전에서 업그레이드하는 경우에만)GoogleMapsM4B
(9.0.0 이전 버전에서 업그레이드하는 경우에만)
- Xcode에서 'File(파일) > 패키지 > Update To Latest Package Versions'(최신 패키지 버전으로 업데이트)'라는 오류 메시지가 표시됩니다.
- 설치를 확인하려면 Project Navigator의 Package Dependencies 섹션으로 이동합니다. 패키지와 해당 버전을 확인합니다.
다음을 사용하여 추가된 기존 iOS용 Maps SDK 종속 항목을 삭제하려면 다음 단계를 따르세요.
CocoaPods
인 경우 다음 단계를 따르세요.
- Xcode 작업공간을 닫습니다. 터미널을 열고 다음 명령어를 실행합니다.
sudo gem install cocoapods-deintegrate cocoapods-clean pod deintegrate pod cache clean --all
-
Podfile
,Podfile.resolved
, CocoaPods 외의 용도로 사용하지 않는 경우 Xcodeworkspace
- </ph>
-
Xcode 프로젝트 구성 설정에서 프레임워크, 라이브러리,
및 삽입된 콘텐츠를 선택합니다. 빼기 기호(-)를 사용하여 다음 프레임워크를 삭제합니다.
<ph type="x-smartling-placeholder">
- </ph>
GoogleMaps
GoogleMapsBase
(설치만 해당) 버전 9.0.0 미만)GoogleMapsCore
(설치만 해당) 버전 9.0.0 미만)GoogleMapsM4B
(설치만 해당) 버전 9.0.0 미만)
-
Xcode 프로젝트의 최상위 디렉터리에서
GoogleMaps
를 삭제합니다. 번들을 선택합니다.
CocoaPods
iOS용 Maps SDK는 CocoaPods pod로 제공됩니다. CocoaPods는 Swift 및 Objective-C Cocoa 프로젝트용 오픈소스 종속 항목 관리자입니다.
아직 CocoaPods 도구가 없으면 터미널에서 다음 명령어를 실행하여 macOS에 CocoaPods 도구를 설치합니다. 자세한 내용은 CocoaPods 시작 가이드를 참고하세요.
sudo gem install cocoapods
iOS용 Maps SDK를 위한 Podfile
을 만들고 이를 사용하여 API와 종속 항목을 설치합니다.
- 아직 Xcode 프로젝트가 없으면 지금 만들어
실행할 수 있습니다 iOS 개발이 처음인 경우:
<ph type="x-smartling-placeholder">
- </ph>
- 새 프로젝트를 만듭니다.
- iOS > App 템플릿입니다.
- 프로젝트 옵션 화면에서 다음을 수행합니다.
<ph type="x-smartling-placeholder">
- </ph>
- Project Name(프로젝트 이름)을 입력합니다.
- 번들 식별자 필드의 값을 기록합니다. 이 값을 사용하여 아래에서 API 키를 제한할 수 있습니다.
- 프로젝트 Interface를 Storyboard로 설정합니다.
- Language를 Swift 또는 Objective-C로 설정합니다.
- 프로젝트 디렉터리에
Podfile
파일을 만듭니다. 이 파일은 프로젝트의 종속 항목을 정의합니다. Podfile
을 수정하고 관련 종속 항목과 함께 종속 항목을 추가합니다. 버전 이 예시에서는 iOS용 Maps SDK:source 'https://github.com/CocoaPods/Specs.git' platform :ios, '15.0' target 'YOUR_APPLICATION_TARGET_NAME_HERE' do pod 'GoogleMaps', '8.4.0' end
정기적으로pod outdated
를 실행하여 새로운 이벤트가 있을 때 감지해야 합니다. 항상 최신 버전을 사용하도록 하세요. 필요한 경우 최신 버전으로 업그레이드하세요.Podfile
을 저장합니다.터미널을 열고
Podfile
가 포함된 디렉터리로 이동합니다.cd <path-to-project>
pod install
명령어를 실행합니다.Podfile
에 지정된 API가 API에 포함된 종속 항목과 함께 설치됩니다.pod install
Xcode를 닫은 다음 프로젝트의
.xcworkspace
파일을 (더블클릭하여) 열어 Xcode를 실행합니다. 이 때부터는.xcworkspace
파일을 사용하여 프로젝트를 열어야 합니다.
기존 프로젝트의 API를 업데이트하려면 다음 단계를 따르세요.
- 터미널을 열고
Podfile
가 포함된 프로젝트 디렉터리로 이동합니다. pod update
명령어를 실행합니다. 이렇게 하면 모든 API가 업데이트됩니다.Podfile
에 지정된 최신 버전으로 업데이트합니다.
수동 설치
이 가이드에서는 iOS용 Maps SDK가 포함된 XCFrameworks를 프로젝트에 수동으로 추가하고 Xcode에서 빌드 설정을 구성하는 방법을 설명합니다. XCFramework는 Apple Silicon을 사용하는 머신을 포함한 여러 플랫폼에서 사용할 수 있는 바이너리 패키지입니다.- 다음 SDK 바이너리 및 리소스 파일을 다운로드합니다. <ph type="x-smartling-placeholder">
- 파일을 추출하여 XCFrameworks 및 리소스에 액세스합니다.
- 아직 Xcode 프로젝트가 없으면 지금 만들어
실행할 수 있습니다 iOS 개발이 처음인 경우:
<ph type="x-smartling-placeholder">
- </ph>
- 새 프로젝트를 만듭니다.
- iOS > App 템플릿입니다.
- 프로젝트 옵션 화면에서 다음을 수행합니다.
<ph type="x-smartling-placeholder">
- </ph>
- Project Name(프로젝트 이름)을 입력합니다.
- 번들 식별자 필드의 값을 기록합니다. 이 값을 사용하여 아래에서 API 키를 제한할 수 있습니다.
- 프로젝트 Interface를 Storyboard로 설정합니다.
- Language를 Swift 또는 Objective-C로 설정합니다.
-
일반 탭을 엽니다. 다음 XCFrameworks를 프로젝트로 드래그합니다.
프레임워크, 라이브러리 및 삽입된 콘텐츠 아래에서 확인할 수 있습니다.
각 XCFramework에 대해 삽입 안함을 선택합니다.
<ph type="x-smartling-placeholder">
- </ph>
GoogleMaps.xcframework
GoogleMapsBase.xcframework
GoogleMapsCore.xcframework
-
GoogleMapsResources에서
GoogleMaps.bundle
를 복사합니다. Xcode 프로젝트의 최상위 디렉터리에 다운로드하세요. 반드시 메시지가 표시되면 항목을 대상 그룹 폴더에 복사합니다. - 프로젝트 탐색기에서 프로젝트를 선택하고 지정할 수도 있습니다
-
애플리케이션 타겟의 Build Phases 탭을 엽니다.
바이너리를 라이브러리와 연결 내에 다음을 추가합니다.
있습니다.
<ph type="x-smartling-placeholder">
- </ph>
Accelerate.framework
Contacts.framework
CoreData.framework
CoreGraphics.framework
CoreImage.framework
CoreLocation.framework
CoreTelephony.framework
CoreText.framework
GLKit.framework
ImageIO.framework
libc++.tbd
libz.tbd
Metal.framework
OpenGLES.framework
(OpenGL을 사용하는 경우에만)QuartzCore.framework
SystemConfiguration.framework
UIKit.framework
-
특정 대상 대신 프로젝트를 선택하고 Build Settings(빌드 설정) 탭 연결 - 일반 -> 기타 링커 플래그 섹션의 '디버그'에
-ObjC
를 추가합니다. '출시'를 클릭합니다. 만약 설정이 표시되지 않으면 Build Settings(빌드 설정) 표시줄에서 필터를 변경하세요. 기본에서 전체로 변경할 수 있습니다. -
iOS XCFramework용 Places SDK를 설치하려면 다음을 참조하세요. 시작하기 iOS용 Places SDK 사용
3단계: Apple 개인 정보 보호 매니페스트 파일 검사하기
Apple은 App Store의 앱에 대한 앱 개인 정보 보호 세부정보를 요구합니다. 업데이트 및 자세한 내용은 Apple App Store 개인 정보 보호 세부정보 페이지를 참고하세요.
Apple 개인 정보 보호 매니페스트 파일은 SDK의 리소스 번들에 포함되어 있습니다. 개인 정보 보호 매니페스트 파일이 포함되었는지 확인하고 콘텐츠를 검사하려면 앱의 보관 파일을 만들고 보관 파일에서 개인 정보 보호 보고서를 생성하세요.
4단계: 프로젝트에 직접 생성한 API 키 추가하기
API 키 가져오기에서 다음을 수행합니다. API 키를 생성했습니다 이제 이 키를 Xcode 프로젝트에 추가합니다.
다음 예에서 YOUR_API_KEY
를 이 API 키로 바꾸세요.
Swift
다음과 같이 API 키를 AppDelegate.swift
에 추가합니다.
- 다음 import 문을 추가합니다.
import GoogleMaps
application(_:didFinishLaunchingWithOptions:)
에 다음을 추가하세요. 메서드에 전달할 수 있습니다.GMSServices.provideAPIKey("YOUR_API_KEY")
- Places API도 사용하는 경우 여기에 표시된 대로 키를 다시 추가합니다.
GMSPlacesClient.provideAPIKey("YOUR_API_KEY")
Objective-C
다음과 같이 API 키를 AppDelegate.m
에 추가합니다.
- 다음 import 문을 추가합니다.
@import GoogleMaps;
application:didFinishLaunchingWithOptions:
에 다음을 추가하세요. 메서드에 전달할 수 있습니다.[GMSServices provideAPIKey:@"YOUR_API_KEY"];
- Places API도 사용하는 경우 여기에 표시된 대로 키를 다시 추가합니다.
[GMSPlacesClient provideAPIKey:@"YOUR_API_KEY"];
5단계: 지도 추가하기
Swift
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 options = GMSMapViewOptions() options.camera = GMSCameraPosition.camera(withLatitude: -33.86, longitude: 151.20, zoom: 6.0) options.frame = self.view.bounds let mapView = GMSMapView(options: options) 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
#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. GMSMapViewOptions *options = [[GMSMapViewOptions alloc] init]; options.camera = [GMSCameraPosition cameraWithLatitude:-33.8683 longitude:151.2086 zoom:6]; options.frame = self.view.bounds; GMSMapView *mapView = [[GMSMapView alloc] initWithOptions:options]; [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
5단계 (선택사항): API에서 사용하는 URL 스키마 선언
iOS 9와 Xcode 7부터는 앱이 명시한 URL 구성표를
앱의 Info.plist
파일에 스키마를 지정하여 실행합니다. 이
사용자가 클릭하면 iOS용 Maps SDK에서 Google 지도 모바일 앱이 열립니다.
따라서 앱에서 관련 URL을 선언할 수 있습니다.
스키마입니다.
iOS용 Maps SDK에서 사용하는 URL 스키마를 선언하려면
Info.plist
에 다음 줄을 추가합니다.
다음 스크린샷은 Xcode 사용자 인터페이스의 구성을 보여줍니다.
위의 선언이 없으면 사용자가 탭할 때 다음 오류가 발생할 수 있습니다. 지도의 Google 로고:
- -canOpenURL: URL: 'comgooglemaps://'에 대해 실패함 - 오류: '이 앱은 스키마 comgooglemaps를 쿼리할 수 있음'
- -canOpenURL: URL: 'googlechromes://'에 대해 실패함 - 오류: '이 앱은 스키마 googlechromes를 쿼리할 수 있음
이러한 오류를 제거하려면 Info.plist
에 선언을 추가하세요.
다음 단계
이제 API 키와 Xcode 프로젝트가 준비되었으므로 앱을 만들고 실행할 수 있습니다. iOS용 Navigation SDK는 다음 작업을 수행하는 데 도움이 되는 다양한 튜토리얼과 샘플 앱을 제공합니다. 시작해 보세요. 자세한 내용은 다음을 참고하세요.