אחרי שמפעילים את החיוב ויוצרים מפתח API, אפשר להגדיר את פרויקט Xcode שבו משתמשים כדי לפתח את האפליקציה.
נתוני הגרסה זמינים לכל גרסה.
שלב 1: מתקינים את התוכנה הנדרשת
כדי ליצור פרויקט באמצעות Maps SDK ל-iOS, צריך להוריד ולהתקין את:
- Xcode גרסה 16.0 ואילך
שלב 2: יוצרים את פרויקט Xcode ומתקינים את Maps SDK ל-iOS
גודל ההתקנה של ה-SDK יכול להשתנות. לדוגמה, גודל ההתקנה של Maps SDK ל-iOS בגרסה 9.0 הוא כ-18MB.
Swift Package Manager
אפשר להתקין את Maps SDK ל-iOS דרך Swift Package Manager. כדי להוסיף את ה-SDK, צריך לוודא שהסרתם את כל יחסי התלות הקיימים של Maps SDK ל-iOS.
כדי להוסיף את ה-SDK לפרויקט חדש או קיים, פועלים לפי השלבים הבאים:
-
פותחים את Xcode
project
אוworkspace
, ואז עוברים אל File > Add Package Dependencies (קובץ > הוספת תלות בחבילה). - מזינים את כתובת ה-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, עוברים אל 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
bundle.
התקנה ידנית
במדריך הזה מוסבר איך להוסיף ידנית לפרויקט את ה-XCFrameworks שמכילים את Maps SDK ל-iOS, ואיך להגדיר את הגדרות ה-build ב-Xcode. XCFramework הוא חבילה בינארית שאפשר להשתמש בה בכמה פלטפורמות, כולל מכונות שמשתמשות ב-Apple silicon.
- מורידים את קובצי ההפעלה (binaries) וקובצי המשאבים הבאים של ה-SDK:
- מחץ את הקבצים כדי לגשת למסגרות ולמשאבים של XCFramework.
- אם עדיין אין לכם פרויקט Xcode, אתם יכולים ליצור אחד עכשיו ולשמור אותו במחשב המקומי. אם אתם חדשים בפיתוח ל-iOS:
- יוצרים פרויקט חדש.
- בוחרים בתבנית iOS > App.
- במסך האפשרויות של הפרויקט:
- מזינים את שם הפרויקט.
- רושמים את הערך של השדה מזהה החבילה. אפשר להשתמש בערך הזה כדי להגביל את מפתח ה-API שלמטה.
- מגדירים את הממשק של הפרויקט לתסריט מצויר.
- מגדירים את השפה ל-Swift או ל-Objective-C.
-
פותחים את הכרטיסייה כללי. גוררים את ה-XCFramework הבא לפרויקט בקטע Frameworks, Libraries, and Embedded Content (מסגרות, ספריות ותוכן מוטמע). חשוב לוודא שבחרתם באפשרות לא להטמיע:
GoogleMaps.xcframework
-
מעתיקים את
GoogleMaps.bundle
מ-GoogleMapsResources שהורדתם אל ספריית הרמה העליונה של פרויקט Xcode. כשמוצגת בקשה, חשוב לבחור באפשרות העתקת פריטים לתיקייה של קבוצת היעד. - בוחרים את הפרויקט מתוך Project Navigator ובוחרים את היעד של האפליקציה.
-
פותחים את הכרטיסייה Build Phases (שלבי בנייה) של היעד של האפליקציה.
בקטע Link Binary with Libraries (קישור קובץ בינארי לספריות), מוסיפים את המסגרות והספריות הבאות:
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 הוא כלי קוד פתוח לניהול תלות בפרויקטים של Swift ו-Objective-C Cocoa.
אם עדיין אין לכם את הכלי CocoaPods, אתם יכולים להתקין אותו ב-macOS על ידי הרצת הפקודה הבאה מהטרמינל. פרטים נוספים זמינים במדריך למתחילים לשימוש ב-CocoaPods.
sudo gem install cocoapods
יוצרים Podfile
עבור Maps SDK for iOS ומשתמשים בו כדי להתקין את ה-API ואת התלות שלו:
- אם עדיין אין לכם פרויקט Xcode, אתם יכולים ליצור אחד עכשיו ולשמור אותו במחשב המקומי. אם אתם חדשים בפיתוח ל-iOS:
- יוצרים פרויקט חדש.
- בוחרים בתבנית iOS > App.
- במסך האפשרויות של הפרויקט:
- מזינים את שם הפרויקט.
- רושמים את הערך של השדה מזהה החבילה. אפשר להשתמש בערך הזה כדי להגביל את מפתח ה-API שלמטה.
- מגדירים את הממשק של הפרויקט לתסריט מצויר.
- מגדירים את השפה ל-Swift או ל-Objective-C.
- יוצרים קובץ בשם
Podfile
בספריית הפרויקט. הקובץ הזה מגדיר את יחסי התלות של הפרויקט. - עורכים את קובץ
Podfile
ומוסיפים את התלויות עם הגרסאות שלהן. הנה דוגמה שכוללת את התלות שנדרשת ל-SDK של מפות ל-iOS: כדי לוודא שאתם תמיד משתמשים בגרסה העדכנית ביותר, מריצים את הפקודהsource 'https://github.com/CocoaPods/Specs.git' platform :ios, '16.0' target 'YOUR_APPLICATION_TARGET_NAME_HERE' do pod 'GoogleMaps', '10.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
יעודכנו לגרסה העדכנית ביותר.
שלב 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 כדי לקבל עדכונים ומידע נוסף.
קובץ המניפסט של Apple Privacy כלול בחבילת המשאבים של ה-SDK. כדי לוודא שקובץ הצהרת הפרטיות נכלל ולבדוק את התוכן שלו, יוצרים ארכיון של האפליקציה ומפיקים דוח פרטיות מהארכיון.
שלב 5 (אופציונלי): הכרזה על סכימות כתובות ה-URL שבהן נעשה שימוש ב-API
החל מ-iOS 9 ומ-Xcode 7, אפליקציות יכולות להצהיר על סכימות כתובות ה-URL שהן מתכוונות לפתוח, על ידי ציון הסכימות בקובץ Info.plist
של האפליקציה. Maps SDK for iOS פותח את אפליקציית מפות Google לנייד כשהמשתמש לוחץ על הלוגו של 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.