אחרי שמפעילים את החיוב ויוצרים מפתח API, אפשר להגדיר את הפרויקט ב-Xcode שבו משתמשים לפיתוח האפליקציה.
נתוני הגרסה זמינים לכל גרסה.
שלב 1: מתקינים את התוכנה הנדרשת
כדי ליצור פרויקט באמצעות SDK של מפות ל-iOS, צריך להוריד ולהתקין את:
- Xcode גרסה 15.0 ואילך
שלב 2: יוצרים את הפרויקט ב-Xcode ומתקינים את ה-SDK של מפות ל-iOS
Swift Package Manager
אפשר להתקין את ה-SDK של מפות ל-iOS באמצעות מנהל החבילות של Swift. כדי להוסיף את ה-SDK, צריך לוודא שהסרתם את כל יחסי התלות הקיימים של SDK של מפות ל-iOS.
כדי להוסיף את ה-SDK לפרויקט חדש או קיים:
-
פותחים את Xcode
project
אוworkspace
, ואז עוברים אל קובץ > הוספת יחסי תלות בחבילות. - מזינים את כתובת ה-URL https://github.com/googlemaps/ios-maps-sdk, מקישים על Enter כדי לשלוח את החבילה ולוחצים על 'הוספת חבילה'.
-
כדי להתקין
version
ספציפי, מגדירים את השדה Dependency Rule לאחת מהאפשרויות שמבוססות על גרסה. בפרויקטים חדשים, מומלץ לציין את הגרסה האחרונה ולהשתמש באפשרות 'גרסה מדויקת'. בסיום, לוחצים על 'הוספת חבילה'.
כדי לעדכן את package
בפרויקט קיים, פועלים לפי השלבים הבאים:
אם משדרגים מגרסה מוקדמת יותר מ-9.0.0, צריך להסיר את יחסי התלות הבאים אחרי השדרוג:
GoogleMapsBase
,GoogleMapsCore
ו-GoogleMapsM4B
. אין להסיר את התלות ב-GoogleMaps
. מידע נוסף זמין בהערות המוצר של גרסה 9.0.0.בהגדרות הפרויקט ב-Xcode, מחפשים את האפשרות Frameworks, Libraries, and Embedded Content. משתמשים בסימן המינוס(-) כדי להסיר את המסגרת הבאה:
GoogleMapsBase
(רק לשדרוגים מגרסאות מוקדמות יותר מ-9.0.0)GoogleMapsCore
(רק לשדרוגים מגרסאות מוקדמות יותר מ-9.0.0)GoogleMapsM4B
(רק לשדרוגים מגרסאות מוקדמות יותר מ-9.0.0)
- ב-Xcode, עוברים אל 'קובץ' > 'חבילות' > 'עדכון לגרסאות החבילות העדכניות ביותר'.
- כדי לאמת את ההתקנה, עוברים לקטע Package Dependencies ב-Project Navigator כדי לאמת את החבילה ואת הגרסה שלה.
כדי להסיר יחסי תלות קיימים של SDK של מפות ל-iOS שנוספו באמצעות CocoaPods
:
- סוגרים את סביבת העבודה ב-Xcode. פותחים את הטרמינל ומריצים את הפקודה הבאה:
sudo gem install cocoapods-deintegrate cocoapods-clean pod deintegrate pod cache clean --all
-
אם אתם לא משתמשים ב-
Podfile
, ב-Podfile.resolved
וב-workspace
של Xcode למטרה אחרת מלבד CocoaPods, כדאי להסיר אותם.
-
בהגדרות הפרויקט ב-Xcode, מחפשים את האפשרות Frameworks, Libraries, and Embedded Content. משתמשים בסימן המינוס(-) כדי להסיר את המסגרת הבאה:
GoogleMaps
GoogleMapsBase
(רק להתקנות ישנות יותר מגרסה 9.2.0)GoogleMapsCore
(רק להתקנות ישנות יותר מגרסה 9.2.0)GoogleMapsM4B
(רק להתקנות ישנות יותר מגרסה 9.0.0)
-
מסירים את החבילה
GoogleMaps
מהספרייה ברמה העליונה של פרויקט Xcode.
התקנה ידנית
במדריך הזה מוסבר איך להוסיף ידנית לפרויקט את ה-XCFrameworks שמכילים את Maps SDK ל-iOS, ולהגדיר את הגדרות ה-build ב-Xcode. XCFramework הוא חבילת קבצים בינאריים שאפשר להשתמש בה בכמה פלטפורמות, כולל במכונות עם Apple silicon.
- מורידים את קובצי ה-SDK הבינאריים ואת קובצי המשאבים הבאים:
- מחלצים את הקבצים כדי לגשת ל-XCFrameworks ולמשאבים.
- אם עדיין אין לכם פרויקט Xcode, אתם יכולים ליצור אחד עכשיו ולשמור אותו במחשב המקומי. אם אתם מפתחים חדשים ב-iOS:
- יוצרים פרויקט חדש.
- בוחרים את התבנית iOS > App.
- במסך האפשרויות של הפרויקט:
- מזינים את שם הפרויקט.
- מתעדים את הערך בשדה מזהה החבילה. אפשר להשתמש בערך הזה כדי להגביל את מפתח ה-API בהמשך.
- מגדירים את ממשק הפרויקט ל-Storyboard.
- מגדירים את Language (שפה) ל-Swift או ל-Objective-C.
-
פותחים את הכרטיסייה כללי. גוררים את ה-XCFramework הבא לפרויקט בקטע Frameworks, Libraries, and Embedded Content. חשוב לבחור באפשרות לא להטמיע:
GoogleMaps.xcframework
-
מעתיקים את
GoogleMaps.bundle
מהספרייה GoogleMapsResources שהורדת לספרייה ברמה העליונה של פרויקט Xcode. חשוב לבחור באפשרות העתקת פריטים לתיקייה של קבוצת היעד כשמופיעה ההודעה. - בוחרים את הפרויקט מ-Project Navigator ובוחרים את היעד של האפליקציה.
-
פותחים את הכרטיסייה Build Phases של היעד של האפליקציה.
בקטע קישור בין קובץ הבינארי לספריות, מוסיפים את המסגרות והספריות הבאות:
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. בקטע Linking - General -> Other Linker Flags, מוסיפים את הערך
-ObjC
לאפשרויות Debug ו-Release. אם ההגדרות האלה לא מוצגות, משנים את הסינון בסרגל Build Settings מ-Basic ל-All. -
במאמר תחילת העבודה עם Places SDK ל-iOS מוסבר איך להתקין את XCFramework של Places SDK ל-iOS.
CocoaPods
ה-SDK של מפות ל-iOS זמין כ-pod של CocoaPods. CocoaPods הוא מנהל יחסי תלות בקוד פתוח לפרויקטים של Cocoa ב-Swift וב-Objective-C.
אם עדיין לא התקנתם את הכלי CocoaPods, תוכלו להתקין אותו ב-macOS על ידי הפעלת הפקודה הבאה מהטרמינל. לפרטים נוספים, ראו מדריך למתחילים ב-CocoaPods.
sudo gem install cocoapods
יוצרים Podfile
ל-SDK של מפות ל-iOS ומשתמשים בו כדי להתקין את ה-API ואת יחסי התלות שלו:
- אם עדיין אין לכם פרויקט Xcode, אתם יכולים ליצור אחד עכשיו ולשמור אותו במחשב המקומי. אם אתם מפתחים חדשים ב-iOS:
- יוצרים פרויקט חדש.
- בוחרים את התבנית iOS > App.
- במסך האפשרויות של הפרויקט:
- מזינים את שם הפרויקט.
- מתעדים את הערך בשדה מזהה החבילה. אפשר להשתמש בערך הזה כדי להגביל את מפתח ה-API בהמשך.
- מגדירים את ממשק הפרויקט ל-Storyboard.
- מגדירים את Language (שפה) ל-Swift או ל-Objective-C.
- יוצרים קובץ בשם
Podfile
בספריית הפרויקט. הקובץ הזה מגדיר את יחסי התלות של הפרויקט. - עורכים את הקובץ
Podfile
ומוסיפים את יחסי התלות יחד עם הגרסאות שלהם. הנה דוגמה שכוללת את התלות שדרושה ל-Maps SDK ל-iOS:source 'https://github.com/CocoaPods/Specs.git' platform :ios, '15.0' target 'YOUR_APPLICATION_TARGET_NAME_HERE' do pod 'GoogleMaps', '9.2.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
לגרסה האחרונה.
שלב 3: מוסיפים את מפתח ה-API לפרויקט
בקטע קבלת מפתח API יצרתם מפתח API לאפליקציה. עכשיו צריך להוסיף את המפתח הזה לפרויקט ב-Xcode.
בדוגמאות הבאות, מחליפים את הערך YOUR_API_KEY
במפתח ה-API שלכם.
Swift
מוסיפים את מפתח ה-API ל-AppDelegate.swift
באופן הבא:
- מוסיפים את הצהרת הייבוא הבאה:
import GoogleMaps
- מוסיפים את הקוד הבא ל-method
application(_:didFinishLaunchingWithOptions:)
, באמצעות מפתח ה-API:GMSServices.provideAPIKey("YOUR_API_KEY")
- אם אתם משתמשים גם ב-Places API, צריך להוסיף את המפתח שוב כפי שמתואר כאן:
GMSPlacesClient.provideAPIKey("YOUR_API_KEY")
Objective-C
מוסיפים את מפתח ה-API ל-AppDelegate.m
באופן הבא:
- מוסיפים את הצהרת הייבוא הבאה:
@import GoogleMaps;
- מוסיפים את הקוד הבא ל-method
application:didFinishLaunchingWithOptions:
, באמצעות מפתח ה-API:[GMSServices provideAPIKey:@"YOUR_API_KEY"];
- אם אתם משתמשים גם ב-Places API, צריך להוסיף את המפתח שוב כפי שמתואר כאן:
[GMSPlacesClient provideAPIKey:@"YOUR_API_KEY"];
שלב 4 (אופציונלי): בודקים את קובץ Privacy Manifest של Apple
Apple דורשת פרטי פרטיות של אפליקציות שמוצגות ב-App Store. עדכונים ומידע נוסף זמינים בדף 'פרטים על פרטיות האפליקציה' ב-App Store של Apple.
קובץ המניפסט של Apple לפרטיות נכלל בחבילת המשאבים של ה-SDK. כדי לוודא שקובץ המניפסט של הפרטיות נכלל ולבדוק את התוכן שלו, יוצרים ארכיון של האפליקציה ויוצרים דוח פרטיות מהארכיון.
שלב 5 (אופציונלי): הכרזה על סכימות כתובות ה-URL שבהן ה-API משתמש
החל מ-iOS 9 ו-Xcode 7, אפליקציות יכולות להצהיר על הסכמות כתובות ה-URL שהן מתכוונות לפתוח, על ידי ציון הסכמות בקובץ Info.plist
של האפליקציה. כשמשתמש לוחץ על הלוגו של Google במפה, ערכת ה-SDK של מפות Google ל-iOS פותחת את אפליקציית מפות Google לנייד, כך שהאפליקציה יכולה להצהיר על סכמות כתובות ה-URL הרלוונטיות.
כדי להצהיר על סכמות כתובות ה-URL שבהן משתמש ה-SDK של מפות ל-iOS, מוסיפים את השורות הבאות לקובץ Info.plist
:
<key>LSApplicationQueriesSchemes</key>
<array>
<string>googlechromes</string>
<string>comgooglemaps</string>
</array>
בצילום המסך הבא מוצגת ההגדרה בממשק המשתמש של Xcode:
בלי ההצהרה שלמעלה, יכולות להתרחש השגיאות הבאות כשהמשתמש מקייש על הלוגו של Google במפה:
-canOpenURL: failed for URL: "comgooglemaps://" - error: "This app is not allowed to query for scheme comgooglemaps"
-canOpenURL: failed for URL: "googlechromes://" - error: "This app is not allowed to query for scheme googlechromes"
כדי למנוע את השגיאות האלה, צריך להוסיף את ההצהרה לקובץ Info.plist
.
המאמרים הבאים
עכשיו, אחרי שיצרתם מפתח API ופרויקט Xcode, אתם יכולים ליצור אפליקציות ולהריץ אותן. ב-Navigation SDK ל-iOS יש הרבה מדריכים ואפליקציות לדוגמה שיעזרו לכם להתחיל. פרטים נוספים זמינים במאמרים הבאים:
- הדרכות מומלצות לתחילת הדרך:
- כדאי לעיין בדוגמאות הקוד ובcodelabs שזמינים.
- לקבלת פתרונות מקצה לקצה, כדאי לעיין בפתרונות של מפות Google.