אחרי שתפעילו את החיוב ותצרו מפתח API, תוכלו להגדיר את ה-Xcode שבו אתם משתמשים כדי לפתח את האפליקציה.
נתוני הגרסה זמינים לכל גרסה גרסה חדשה.
שלב 1: מתקינים את התוכנה הנדרשת
כדי לבנות פרויקט באמצעות Navigation SDK ל-iOS, צריך להוריד ולהתקין:
- Xcode גרסה 15.0 ואילך
שלב 2: יצירת פרויקט Xcode והתקנה של Navigation SDK
מנהל חבילות SWIFT
ניתן להתקין את Navigation SDK דרך SWIFT Package Manager. כדי להוסיף את ה-SDK, צריך לוודא שיש לך הוסרה כל יחסי התלות הקיימים של Navigation SDK.
כדי להוסיף את ה-SDK לפרויקט חדש או קיים:
-
פותחים את ה-Xcode
project
אוworkspace
, ועוברים אל File > (קובץ >) הוספת יחסי תלות של חבילה. - מזינים את הכתובת https://github.com/googlemaps/ios-navigation-sdk בתור כתובת ה-URL ומקישים על Enter. כדי למשוך את החבילה, וללחוץ על "הוספת חבילה".
-
כדי להתקין
version
ספציפי, צריך להגדיר את השדה כלל תלות לאחד אפשרויות שמבוססות על גרסאות. בפרויקטים חדשים, מומלץ לציין את הגרסה האחרונה באמצעות "גרסה מדויקת" כאפשרות. בסיום, לוחצים על 'הוספת חבילה'. -
בחלון Choose Package Products, מוודאים שהתוסף
GoogleNavigation
יתווסף אל היעד שהגדרת ל-main
. בסיום, לוחצים על 'הוספת חבילה'. -
כדי לבדוק את ההתקנה, צריך לעבור לחלונית
General
של היעד. ב-Frameworks, ספריות ותוכן מוטמע אתם אמורים לראות את החבילות המותקנות. אפשר גם לראות את העמודה 'יחסי תלות של חבילה' הקטע של Project Navigator כדי לאמת את החבילה והגרסה שלה.
כדי לעדכן את package
בפרויקט קיים:
אם אתה משדרג מגרסה קודמת מ-9.0.0, עליך להסיר את יחסי התלות האלה:
GoogleMapsBase
,GoogleMapsCore
,GoogleMapsM4B
אחרי השדרוג. אל תסירו את התלות שלGoogleMaps
מידע נוסף זמין במאמר נתוני גרסה 9.0.0.בהגדרות האישיות של פרויקט Xcode, מחפשים את Frameworks, ספריות, ותוכן מוטמע. משתמשים בסימן המינוס(-) כדי להסיר את המסגרת הבאה:
GoogleMapsBase
(רק לשדרוגים מגרסאות מוקדמות יותר מ-9.0.0)GoogleMapsCore
(רק לשדרוגים מגרסאות מוקדמות יותר מ-9.0.0)GoogleMapsM4B
(רק לשדרוגים מגרסאות מוקדמות יותר מ-9.0.0)
- מ-Xcode, עוברים אל 'File >' חבילות > יש לעדכן לגרסאות האחרונות של החבילה".
- כדי לאמת את ההתקנה, עוברים לקטע Package Dependencies של Project Navigator כדי לאמת את החבילה והגרסה שלה.
כדי להסיר יחסי תלות קיימים של Navigation SDK שנוספו באמצעות
CocoaPods
, יש לבצע את השלבים הבאים:
- סוגרים את סביבת העבודה של Xcode. פותחים את הטרמינל ומריצים את הפקודה הבאה:
sudo gem install cocoapods-deintegrate cocoapods-clean pod deintegrate pod cache clean --all
-
מסירים את
Podfile
,Podfile.resolved
ואת Xcodeworkspace
אם אתם לא משתמשים בהם לאף מטרה אחרת מלבד CocoaPods.
-
בהגדרות האישיות של פרויקט Xcode, מחפשים את Frameworks, ספריות,
ותוכן מוטמע. משתמשים בסימן המינוס(-) כדי להסיר את המסגרת הבאה:
GoogleMaps.xcframework
GoogleMapsBase.xcframework
GoogleMapsCore.xcframework
GoogleNavigation.xcframework
-
מהספרייה ברמה העליונה של פרויקט Xcode, מסירים את
GoogleMaps
חבילה.
CocoaPods
SDK לניווט עבור iOS זמין בתור של CocoaPods. CocoaPods הוא מנהל יחסי תלות בקוד פתוח עבור Swift ו-Objective-C פרויקטים של קקאו.
אם עדיין לא התקנתם את הכלי CocoaPods, מתקינים אותו ב-macOS באמצעות הרצת הפקודה הבאה מהטרמינל. פרטים נוספים זמינים במאמר CocoaPods מדריך לתחילת העבודה.
sudo gem install cocoapods
יוצרים Podfile
עבור ה-SDK לניווט ל-iOS ומשתמשים
כדי להתקין את ה-API ואת יחסי התלות שלו:
- אם עדיין אין לך פרויקט Xcode, עליך ליצור פרויקט עכשיו ולשמור אותו ב-
במחשב המקומי שלכם. אם זו הפעם הראשונה שאתם משתמשים בפיתוח ל-iOS:
- יוצרים פרויקט חדש.
- בוחרים באפשרות iOS > תבנית של לאפליקציה.
- במסך אפשרויות הפרויקט:
- מזינים את Project Name (שם הפרויקט).
- מתעדים את הערך בשדה Bundle ID (מזהה החבילה). אפשר להשתמש בערך הזה כדי להגביל את מפתח ה-API בהמשך.
- מגדירים את הפרויקט Interface כ-Storyboard.
- מגדירים את Language כ-Swift או Objective-C.
- יוצרים קובץ בשם
Podfile
בספריית הפרויקט. הזה מגדיר את יחסי התלות של הפרויקט. - עורכים את
Podfile
ומוסיפים את יחסי התלות עם גרסאות. הנה דוגמה שכוללת את התלות הדרושה SDK ניווט ל-iOS: # סימוכין להתקנת Cocoapods חשוב להריץ את התוסףsource 'https://github.com/CocoaPods/Specs.git' platform :ios, '15.0' target 'YOUR_APPLICATION_TARGET_NAME_HERE' do pod 'GoogleNavigation', '9.1.0' end
pod outdated
באופן קבוע כדי לזהות מעבדות חדשות יותר גרסאות שונות. במקרה הצורך, משדרגים לגרסה העדכנית ביותר. - שומרים את
Podfile
. פותחים טרמינל ועוברים לספרייה שמכילה את
Podfile
:cd <path-to-project>
מריצים את הפקודה
pod install
. הפעולה הזו תתקין את ממשקי ה-API שצוינו ב-Podfile
עם כל יחסי התלות.pod install
סוגרים את Xcode ואז פותחים (לחיצה כפולה) את הפרויקט קובץ
.xcworkspace
להפעלת Xcode. מהשלב הזה ואילך, חייבים להשתמש בקובץ.xcworkspace
כדי לפתוח את הפרויקט.
כדי לעדכן את ה-API לפרויקט קיים:
- פותחים טרמינל ונכנסים לספריית הפרויקט שמכילה את
Podfile
. - מריצים את הפקודה
pod update
. הפעולה הזו מעדכנת את כל ממשקי ה-API שמצוינים ב-Podfile
לגרסה העדכנית ביותר.
התקנה ידנית
במדריך הזה מוסבר איך להוסיף ידנית את ה-XCFrameworks שכוללים את SDK ניווט ל-iOS וSDK של מפות ל-iOS לפרויקט שלך ולקבוע את הגדרות ה-build ב-Xcode. XCFramework היא חבילה בינארית שאפשר להשתמש בה במספר פלטפורמות, כולל מכונות שמשתמשות בערכת השבבים M1
יש לבצע את השלבים הבאים כדי להתקין את XCFrameworks ל-Navigation SDK ל-iOS, וה-SDK של מפות Google ל-iOS:
- הורדת הקבצים הבינאריים וקובצי המשאבים הבאים של ה-SDK:
- מפעילים את Xcode ופותחים פרויקט קיים, או יוצרים פרויקט חדש. פרויקט. אם זו הפעם הראשונה שאתם משתמשים ב-iOS, יוצרים פרויקט חדש ובוחרים תבנית לאפליקציה ל-iOS.
- מסירים מהפרויקט את כל ההפניות הקיימות ל'מפות', 'ניווט' ו'מקומות'.
- גוררים את ה-XCFrameworks הבאות לפרויקט אל
Frameworks, ספריות ותוכן מוטמע כדי להתקין את מפות Google.
וערכות SDK לניווט (כשתתבקשו, בחרו באפשרות העתקת פריטים במקרה הצורך):
GoogleMaps.xcframework
GoogleMapsBase.xcframework
GoogleMapsCore.xcframework
GoogleNavigation.xcframework
- גוררים את
GoogleMaps.bundle
מ-GoogleMapsResources שהורדתם בספרייה ברמה העליונה של פרויקט Xcode. כשמוצגת בקשה לעשות זאת, מוודאים שהאפשרות העתקת פריטים במקרה הצורך מסומנת. - גוררים את הקובץ
GoogleNavigation.bundle
מ-GoogleNavigationResources שהורדתם בספרייה ברמה העליונה של פרויקט Xcode. כשתתבקשו, ודאו נבחרה האפשרות העתקת פריטים לתיקייה של קבוצת היעד. - בוחרים את הפרויקט מ-Project Navigator ואז בוחרים היעד של האפליקציה.
- פותחים את הכרטיסייה שלבי ה-build.
קישור של Binary לספריות, הוספה של ה-frameworks והספריות הבאות:
Accelerate.framework
AudioToolbox.framework
AVFoundation.framework
Contacts.framework
CoreData.framework
CoreGraphics.framework
CoreImage.framework
CoreLocation.framework
CoreTelephony.framework
CoreText.framework
GLKit.framework
ImageIO.framework
libc++.tbd
libxml2.tbd
libz.tbd
Metal.framework
OpenGLES.framework
QuartzCore.framework
Security.framework
SystemConfiguration.framework
UIKit.framework
UserNotifications.framework
WebKit.framework
- ביעד של האפליקציה, בוחרים את הכרטיסייה Capabilities,
מפעילים את האפשרות מצבים ברקע ומפעילים את המצבים הבאים:
- אודיו, AirPlay ו'תמונה בתוך תמונה'
- עדכוני מיקום
- בוחרים בפרויקט שלכם (ולא ביעד ספציפי) ופותחים את Build
בכרטיסייה 'הגדרות'. בקטע סימוני מקשר אחר,
מוסיפים
‑ObjC
גם לניפוי באגים וגם לגרסה. אם ההגדרות האלה לא מוצגות, אפשר לשנות את המסנן סרגל יצירת ההגדרות מבסיסי להכול. - פותחים את
Info.plist
ומוסיפים את צמדי המפתח/ערך הבאים:- מפתח:
NSLocationWhenInUseUsageDescription
(פרטיות – מיקום בזמן השימוש בתיאור))
ערך: "האפליקציה הזו צריכה הרשאה להשתמש במיקום שלך לניווט מפורט." - מפתח:
NSLocationAlwaysAndWhenInUseUsageDescription
(פרטיות – מיקום תמיד ובעת שימוש תיאור)
ערך: "האפליקציה הזו צריכה הרשאה להשתמש במיקום שלך לניווט מפורט."
- מפתח:
שלב 3: בודקים את קובץ מניפסט הפרטיות של Apple
Apple דורשת פרטים לגבי הפרטיות של אפליקציות ב-App Store. עדכונים ומידע נוסף זמינים בדף פרטי הפרטיות של Apple App Store.
קובץ מניפסט הפרטיות של Apple כלול בחבילת המשאבים של ה-SDK. כדי לוודא שקובץ מניפסט הפרטיות נכלל וכדי לבדוק את התוכן שלו, יש ליצור ארכיון של האפליקציה ולהפיק דוח פרטיות מהארכיון.
שלב 4: מוסיפים את מפתח ה-API לפרויקט
הדוגמאות הבאות מראות איך להוסיף את מפתח ה-API לפרויקט ב-Xcode:
Swift
מוסיפים את מפתח ה-API ל-AppDelegate.swift
באופן הבא:
- הוסף את הצהרות הייבוא הבאות:
import GoogleMaps import GoogleNavigation
- צריך להוסיף את הפריטים הבאים ל
application(_:didFinishLaunchingWithOptions:)
method:GMSServices.provideAPIKey("YOUR_API_KEY")
Objective-C
מוסיפים את מפתח ה-API ל-AppDelegate.m
באופן הבא:
- הוסף את הצהרות הייבוא הבאות:
@import GoogleMaps; @import GoogleNavigation;
- צריך להוסיף את הפריטים הבאים ל
application:didFinishLaunchingWithOptions:
method:[GMSServices provideAPIKey:@"YOUR_API_KEY"];
שלב 5: הוספת מפה
הקוד הזה מדגים איך להוסיף מפה פשוטה אל ViewController
קיים,
כולל כמה הגדרות ראשוניות לניווט.
לפני שניתן להפעיל את הניווט, המשתמש חייב להסכים לתנאים
את התנאים וההגבלות. כדי לשלוח הודעה למשתמש, התקשר
GMSNavigationServices.showTermsAndConditionsDialogIfNeeded()
, ואז מסמנים כדי
לראות אם התנאים אושרו. אם המשתמש ידחה את התנאים,
לפרמטר mapView.isNavigationEnabled = true
אין השפעה, ו-mapView.navigator
הוא
nil.
Swift
import UIKit import GoogleNavigation class ViewController: UIViewController { var mapView: GMSMapView! var locationManager: CLLocationManager! override func loadView() { locationManager = CLLocationManager() locationManager.requestAlwaysAuthorization() let options = GMSMapViewOptions() options.camera = camera options.frame = .zero mapView = GMSMapView(options: options) // Show the terms and conditions. let termsAndConditionsOptions = GMSNavigationTermsAndConditionsOptions(companyName: "Ride Share Co.") GMSNavigationServices.showTermsAndConditionsDialogIfNeeded(with: termsAndConditionsOptions) { termsAccepted in if termsAccepted { // Enable navigation if the user accepts the terms. self.mapView.isNavigationEnabled = true } else { // Handle the case when the user rejects the terms and conditions. } } view = mapView } // TODO: Add navigation code. }
Objective-C
#import "ViewController.h" @import GoogleNavigation; @interface ViewController () @end @implementation ViewController GMSMapView *_mapView; CLLocationManager *_locationManager; - (void)loadView { _locationManager = [[CLLocationManager alloc] init]; [_locationManager requestAlwaysAuthorization]; GMSCameraPosition *camera = [GMSCameraPosition cameraWithLatitude:47.67 longitude:-122.20 zoom:14]; GMSMapViewOptions *options = [[GMSMapViewOptions alloc] init]; options.frame = CGRectZero; options.camera = camera; options.mapID = mapID; _mapView = [[GMSMapView alloc] initWithOptions:options]; // Show the terms and conditions. GMSNavigationTermsAndConditionsOptions *termsAndConditionsOptions = [[GMSNavigationTermsAndConditionsOptions alloc] initWithCompanyName:@"Ride Sharing Co."]; [GMSNavigationServices showTermsAndConditionsDialogIfNeededWithOptions:termsAndConditionsOptions callback:^(BOOL termsAccepted) { if (termsAccepted) { // Enable navigation if the user accepts the terms. _mapView.navigationEnabled = YES; } else { // Handle the case when the user rejects the terms and conditions. } }]; self.view = _mapView; } // TODO: Add navigation code. @end
מפעילים את האפליקציה. אתם אמורים לראות מפה במרכזה של קירקלנד, וושינגטון.
אם המפה לא גלויה, אפשר לנסות את הפעולות הבאות:
- מוודאים שהזנתם את מפתח ה-API הנכון.
- בודקים ש-NavSDK מופעל במסוף Cloud.
- אם ערכת ה-SDK של Nav מותקנת אבל בפרויקט שלך לא נעשה שימוש בממשקי API של Nav SDK, צריך להסיר אותה מהבינארי.
אם אתם לקוחות של שירותי ניידות
אם את/ה לקוחות של שירותי ניידות, ניתן לקבל מידע נוסף על חיוב במסמכי התיעוד בנושא ניידות. למידע נוסף על הקלטה עסקאות, לראות הגדרת חיוב. לקבלת מידע על הוספת מזהי עסקאות להטמעה של ה-SDK של הניווט, אפשר לעיין במאמר שיוך השימוש שלכם בשירות לעסקאות ניידות
המאמרים הבאים
עכשיו, אחרי שיש לכם מפתח API ופרויקט Xcode, אתם יכולים ליצור ולהפעיל אפליקציות. SDK הניווט ל-iOS מספק מדריכים שיכולים לעזור לכם להתחיל בעבודה בקלות. פרטים נוספים זמינים במאמרים הבאים:
- מדריכים