אחרי שמפעילים את החיוב ויוצרים מפתח API, צריך להגדיר את פרויקט Xcode שבו משתמשים כדי לפתח את האפליקציה.
הערות מוצר זמינות לכל גרסה.
שלב 1: התקנת התוכנה הנדרשת
כדי ליצור פרויקט באמצעות SDK של מפות ל-iOS, צריך להוריד ולהתקין את:
- Xcode גרסה 26.0 ואילך
שלב 2: יוצרים את פרויקט Xcode ומתקינים את SDK של מפות ל-iOS
גודל ההתקנה של ה-SDK משתנה. לדוגמה, גודל ההתקנה של SDK של מפות ל-iOS בגרסה 9.0 הוא כ-18MB.
Swift Package Manager
אפשר להתקין את SDK של מפות ל-iOS באמצעות Swift Package Manager. כדי להוסיף את ה-SDK, צריך לוודא שהסרתם את כל יחסי התלות הקיימים של SDK של מפות ל-iOS.
כדי להוסיף את ה-SDK לפרויקט חדש או קיים, פועלים לפי השלבים הבאים:
-
פותחים את Xcode
projectאוworkspace, ואז עוברים אל File > Add Package Dependencies (קובץ > הוספת תלות בחבילה). - מזינים את כתובת ה-URL https://github.com/googlemaps/ios-maps-sdk, מקישים על Enter כדי למשוך את החבילה ולוחצים על 'הוספת חבילה'.
-
כדי להתקין
versionספציפי, מגדירים את השדה Dependency Rule (כלל תלות) לאחת מהאפשרויות שמבוססות על גרסה. בפרויקטים חדשים, מומלץ לציין את הגרסה העדכנית ולהשתמש באפשרות Exact Version (גרסה מדויקת). בסיום, לוחצים על 'הוספת חבילה'. -
בחלון Choose Package Products (בחירת מוצרים לחבילה), מוודאים ש-
GoogleMaps(בגרסאות מוקדמות יותר מ-9.0.0, מוודאים ש-GoogleMaps,GoogleMapsBaseו-GoogleMapsCore) יתווספו ליעדmainשצוין. בסיום, לוחצים על 'הוספת חבילה'. - כדי לאמת את ההתקנה, עוברים לחלונית כללי של היעד. בקטע Frameworks, Libraries, and Embedded Content (מסגרות, ספריות ותוכן מוטמע) אמורים להופיע החבילות המותקנות. אפשר גם לעיין בקטע Package Dependencies (תלות בחבילה) ב-Project Navigator (סייר הפרויקטים) כדי לאמת את החבילה ואת הגרסה שלה.
כדי לעדכן את 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, עוברים אל File > Packages > Update To Latest Package Versions (קובץ > חבילות > עדכון לגרסאות החבילה העדכניות ביותר).
- כדי לאמת את ההתקנה, עוברים לקטע Package Dependencies (תלות בחבילה) ב-Project Navigator (סרגל הניווט של הפרויקט) כדי לאמת את החבילה ואת הגרסה שלה.
כדי להסיר יחסי תלות קיימים ב-SDK של מפות ל-iOS שנוספו באמצעות CocoaPods, פועלים לפי השלבים הבאים:
- סוגרים את סביבת העבודה של Xcode. פותחים את הטרמינל ומריצים את הפקודה הבאה:
sudo gem install cocoapods-deintegrate cocoapods-clean pod deintegrate pod cache clean --all
-
מסירים את
Podfile,Podfile.resolvedואת Xcodeworkspaceאם אתם לא משתמשים בהם לשום דבר אחר מלבד CocoaPods.
-
בהגדרות התצורה של פרויקט Xcode, מחפשים את Frameworks, Libraries,
and Embedded Content (מסגרות, ספריות ותוכן מוטמע). כדי להסיר את המסגרת הבאה, משתמשים בסימן המינוס (–):
GoogleMaps-
GoogleMapsBase(רק להתקנות בגרסה מוקדמת יותר מ-9.2.0) -
GoogleMapsCore(רק להתקנות בגרסה מוקדמת יותר מ-9.2.0) -
GoogleMapsM4B(רק להתקנות מגרסה מוקדמת יותר מ-9.0.0)
-
מהספרייה ברמה העליונה של פרויקט Xcode, מסירים את
GoogleMapsהחבילה.
התקנה ידנית
במדריך הזה מוסבר איך להוסיף ידנית לפרויקט את ה-XCFrameworks שמכילים את SDK של מפות ל-iOS, ואיך להגדיר את הגדרות ה-build ב-Xcode. XCFramework היא חבילה בינארית שמשמשת בפלטפורמות שונות, כולל מכונות שמשתמשות ב-Apple silicon.
- מורידים את קובצי ההפעלה וקובצי המשאבים הבאים של ה-SDK:
- מחולצים את הקבצים כדי לגשת ל-XCFrameworks ולמשאבים.
- אם עדיין אין לכם פרויקט Xcode, אתם יכולים ליצור פרויקט חדש ולשמור אותו במחשב המקומי. אם אתם חדשים בפיתוח ל-iOS:
- יוצרים פרויקט חדש.
- בוחרים בתבנית iOS > App.
- במסך האפשרויות של הפרויקט:
- מזינים את שם הפרויקט.
- מתעדים את הערך של השדה מזהה החבילה. אפשר להשתמש בערך הזה כדי להגביל את מפתח ה-API שבהמשך.
- מגדירים את Interface (ממשק) של הפרויקט ל-Storyboard (סטוריבורד).
- מגדירים את השפה ל-Swift או ל-Objective-C.
-
פותחים את הכרטיסייה כללי. גוררים את מסגרות XCFrameworks הבאות לפרויקט
בקטע Frameworks, Libraries, and Embedded Content (מסגרות, ספריות ותוכן מוטמע). חשוב לבחור באפשרות לא להטמיע:
GoogleMaps.xcframework
-
מעתיקים את
GoogleMaps.bundleמ-GoogleMapsResources שהורדתם לתיקיית הרמה העליונה של פרויקט Xcode. כשמוצגת בקשה לעשות זאת, חשוב לבחור באפשרות העתקת פריטים לתיקייה של קבוצת היעד. - בוחרים את הפרויקט בחלונית הניווט בפרויקט, ואז בוחרים את היעד של האפליקציה.
-
פותחים את הכרטיסייה Build Phases (שלבי בנייה) של יעד האפליקציה.
בקטע Link Binary with Libraries, מוסיפים את המסגרות והספריות הבאות:
Accelerate.frameworkContacts.frameworkCoreData.frameworkCoreGraphics.frameworkCoreImage.frameworkCoreLocation.frameworkCoreTelephony.frameworkCoreText.frameworkGLKit.frameworkImageIO.frameworklibc++.tbdlibz.tbdMetal.frameworkMetricKit.framework-
OpenGLES.framework(רק אם משתמשים ב-OpenGL) QuartzCore.frameworkSecurity.frameworkSystemConfiguration.frameworkUIKit.framework
-
בוחרים את הפרויקט במקום יעד ספציפי, ופותחים את הכרטיסייה Build Settings. בקטע Linking - General -> Other Linker Flags, מוסיפים את
-ObjCל-Debug ול-Release. אם ההגדרות האלה לא מוצגות, צריך לשנות את המסנן בסרגל Build Settings מ-Basic ל-All. -
הוראות להתקנת Places SDK ל-iOS XCFramework מופיעות במאמר תחילת העבודה עם Places SDK ל-iOS.
שלב 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 (אופציונלי): בדיקת קובץ מניפסט הפרטיות של אפל
Apple דורשת פרטי פרטיות של אפליקציות ב-App Store. אפשר לעבור אל הדף של Apple App Store בנושא פרטיות באפליקציות כדי לקבל עדכונים ומידע נוסף.
קובץ המניפסט של הפרטיות של אפל נכלל בחבילת המשאבים של ה-SDK. כדי לוודא שקובץ הצהרת הפרטיות נכלל ולבדוק את התוכן שלו, יוצרים ארכיון של האפליקציה ומפיקים דוח פרטיות מהארכיון.
שלב 5 (אופציונלי): מצהירים על סכימות כתובות ה-URL שבהן נעשה שימוש ב-API
החל מ-iOS 9 ומ-Xcode 7, האפליקציות מצהירות על סכמות ה-URL שהן מתכוונות לפתוח על ידי ציון הסכמות בקובץ Info.plist של האפליקציה. SDK של מפות ל-iOS פותח את אפליקציית 'מפות Google' לנייד כשהמשתמש לוחץ על הלוגו של 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 כולל הרבה מדריכים ואפליקציות לדוגמה שיעזרו לכם להתחיל. פרטים נוספים זמינים במאמרים הבאים:
- הוספת מפה עם סמן.
- בוחרים באפשרות 'המיקום הנוכחי' ו'הצגת פרטים במפה'.
- המרת קואורדינטות לכתובות (reverse geocoding).
- כדאי לעיין בדוגמאות הקוד ובסדנאות ה-Codelab שזמינות.
- לפתרונות מקצה לקצה, אפשר לעיין בפתרונות הזמינים במפות Google.