אחרי שמפעילים את החיוב ויוצרים מפתח API, אפשר להגדיר את הפרויקט ב-Xcode שבו משתמשים לפיתוח האפליקציה.
נתוני הגרסה זמינים לכל גרסה.
שלב 1: מתקינים את התוכנה הנדרשת
כדי ליצור פרויקט באמצעות Maps SDK ל-iOS, צריך להוריד ולהתקין את:
- Xcode גרסה 15.0 ואילך
שלב 2: יוצרים את פרויקט Xcode ומטמיעים את Maps SDK ל-iOS
Swift Package Manager
אפשר להתקין את ה-SDK של מפות Google ל-iOS דרך Package Manager של Swift. כדי להוסיף את ה-SDK, צריך לוודא שהסרתם את כל יחסי התלות הקיימים של SDK של מפות Google ל-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
Security.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
Maps SDK ל-iOS זמין כ-pod של CocoaPods. CocoaPods הוא מנהל יחסי תלות בקוד פתוח לפרויקטים של Cocoa ב-Swift וב-Objective-C.
אם עדיין לא התקנתם את הכלי CocoaPods, תוכלו להתקין אותו ב-macOS על ידי הפעלת הפקודה הבאה מהמסוף. פרטים נוספים זמינים במדריך לתחילת העבודה עם CocoaPods.
sudo gem install cocoapods
יוצרים קובץ Podfile
ל-Maps SDK ל-iOS ומשתמשים בו כדי להתקין את ה-API ואת יחסי התלות שלו:
- אם עדיין אין לכם פרויקט Xcode, יוצרים אותו עכשיו ושומרים אותו במחשב המקומי. אם אתם מפתחים חדשים ב-iOS:
- יוצרים פרויקט חדש.
- בוחרים בתבנית iOS > App.
- במסך האפשרויות של הפרויקט:
- מזינים את שם הפרויקט.
- מתעדים את הערך בשדה מזהה החבילה. תוכלו להשתמש בערך הזה כדי להגביל את מפתח ה-API בהמשך.
- מגדירים את ממשק הפרויקט כ-Storyboard.
- מגדירים את Language (שפה) ל-Swift או ל-Objective-C.
- יוצרים קובץ בשם
Podfile
בספריית הפרויקט. הקובץ הזה מגדיר את יחסי התלות של הפרויקט. - עורכים את הקובץ
Podfile
ומוסיפים את יחסי התלות יחד עם הגרסאות שלהם. הנה דוגמה שכוללת את התלות הנדרשת ל-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;
- מוסיפים את הקוד הבא לשיטה
application:didFinishLaunchingWithOptions:
באמצעות מפתח ה-API:[GMSServices provideAPIKey:@"YOUR_API_KEY"];
- אם אתם משתמשים גם ב-Places API, צריך להוסיף את המפתח שוב כפי שמתואר כאן:
[GMSPlacesClient provideAPIKey:@"YOUR_API_KEY"];
שלב 4 (אופציונלי): בודקים את קובץ המניפסט של Apple לפרטיות
Apple דורשת פרטים על פרטיות האפליקציה עבור אפליקציות ב-App Store. מידע נוסף ועדכונים זמינים בדף הפרטים על פרטיות באפליקציות ב-App Store של Apple.
קובץ המניפסט של Apple Privacy כלול בחבילת המשאבים של ה-SDK. כדי לוודא שקובץ המניפסט של הפרטיות נכלל ולבדוק את התוכן שלו, יוצרים ארכיון של האפליקציה ויוצרים דוח פרטיות מהארכיון.
שלב 5 (אופציונלי): הצהרה על סכימות כתובות ה-URL שבהן ה-API משתמש
החל מ-iOS 9 ו-Xcode 7, אפליקציות יכולות להצהיר על סכימות כתובות ה-URL שהן מתכוונות לפתוח, על ידי ציון הסכימות בקובץ Info.plist
של האפליקציה. כשמשתמש לוחץ על הלוגו של Google במפה, ערכת ה-SDK של מפות Google ל-iOS פותחת את אפליקציית מפות Google לנייד. כך האפליקציה יכולה להצהיר על סכמות כתובות ה-URL הרלוונטיות.
כדי להצהיר על סכמות כתובות ה-URL שבהן משתמש Maps 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.