אחרי שמפעילים את החיוב ויוצרים מפתח 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 לפרויקט חדש או קיים, פועלים לפי השלבים הבאים:
-
פותחים את
projectאוworkspaceב-Xcode, ואז עוברים אל File > Add Package Dependencies (קובץ > הוספת יחסי תלות של חבילות). - מזינים את כתובת ה-URL https://github.com/googlemaps/ios-maps-sdk, מקישים על Enter כדי למשוך את החבילה ולוחצים על "Add Package".
-
כדי להתקין
versionספציפי, מגדירים את השדה כלל תלות לאחת מהאפשרויות שמבוססות על גרסה. בפרויקטים חדשים, מומלץ לציין את הגרסה העדכנית ביותר ולהשתמש באפשרות Exact Version. בסיום, לוחצים על "הוספת חבילה". -
בחלון Choose Package Products, מוודאים ש-
GoogleMaps(בגרסאות שקודמות ל-9.0.0, מוודאים ש-GoogleMaps,GoogleMapsBaseו-GoogleMapsCore) יתווספו ליעדmainשהגדרתם. בסיום, לוחצים על "הוספת חבילה". - כדי לוודא שההתקנה בוצעה, עוברים לחלונית General (כללי) של היעד. בקטע 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. משתמשים בסימן המינוס(-) כדי להסיר את ה-framework הבא:
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. משתמשים בסימן המינוס (-) כדי להסיר את ה-framework הבא:
GoogleMapsGoogleMapsBase(רק להתקנות של גרסאות קודמות ל-9.2.0)GoogleMapsCore(רק להתקנות של גרסאות קודמות ל-9.2.0)GoogleMapsM4B(רק להתקנות לפני גרסה 9.0.0)
-
מסירים את החבילה
GoogleMapsמהספרייה ברמה העליונה של פרויקט Xcode.
התקנה ידנית
במדריך הזה מוסבר איך להוסיף באופן ידני לפרויקט את קובצי ה-XCFrameworks שמכילים את ה-SDK של מפות ל-iOS, ואיך לקבוע את הגדרות ה-build ב-Xcode. XCFramework היא חבילה בינארית שמשמשת בפלטפורמות שונות, כולל מכונות שמשתמשות בApple Silicon.
- מורידים את קובצי המשאבים והקבצים הבינאריים הבאים של ה-SDK:
- מחלצים את הקבצים כדי לגשת ל-XCFrameworks ולמשאבים.
- אם עדיין אין לכם פרויקט Xcode, צרו פרויקט ושמרו אותו במחשב המקומי. אם אתם חדשים בפיתוח ל-iOS:
- יוצרים פרויקט חדש.
- בוחרים את התבנית iOS > App.
- במסך האפשרויות של הפרויקט:
- מזינים את שם הפרויקט.
- מתעדים את הערך של השדה מזהה החבילה. אפשר להשתמש בערך הזה כדי להגביל את מפתח ה-API בהמשך.
- מגדירים את Interface (ממשק) הפרויקט ל-Storyboard (סטוריבורד).
- מגדירים את Language (שפה) ל-Swift או ל-Objective-C.
-
פותחים את הכרטיסייה כללי. גוררים את קובצי ה-XCFrameworks הבאים לפרויקט בקטע Frameworks, Libraries, and Embedded Content (ספריות, מסגרות ותוכן מוטמע). חשוב לבחור באפשרות Do Not Embed (לא להטמיע):
GoogleMaps.xcframework
-
מעתיקים את
GoogleMaps.bundleמהקובץ GoogleMapsResources שהורדתם לספרייה ברמה העליונה של פרויקט Xcode. חשוב לבחור באפשרות העתקת פריטים לתיקייה של קבוצת היעד כשמוצגת בקשה לעשות זאת. - בוחרים את הפרויקט בחלונית הניווט בפרויקט, ובוחרים את היעד של האפליקציה.
-
פותחים את הכרטיסייה Build Phases (שלבי פיתוח) של היעד באפליקציה.
בקטע Link Binary with Libraries, מוסיפים את הספריות וה-frameworks הבאים:
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. כדי לקבל עדכונים ומידע נוסף, אפשר להיכנס לדף הפרטים בנושא פרטיות ב-App Store של Apple.
קובץ המניפסט של אפל בנושא פרטיות נכלל בחבילת המשאבים של ה-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.