بعد تفعيل الفوترة وإنشاء مفتاح واجهة برمجة التطبيقات، تكون جاهزًا لإعداد رمز Xcode. مشروعك تستخدمه في تطوير تطبيقك.
تتوفر ملاحظات الإصدار لكل .
الخطوة 1: تثبيت البرنامج المطلوب
لإنشاء مشروع باستخدام حزمة SDK للتنقل لنظام التشغيل iOS، يجب تنزيل وتثبيت:
- Xcode الإصدار 15.0 أو إصدار أحدث
الخطوة 2: إنشاء مشروع Xcode وتثبيت حِزمة تطوير البرامج (SDK) للتنقل
مدير حزم Swift
يمكن تثبيت حزمة SDK للتنقل عبر مدير حزم Swift لإضافة حزمة تطوير البرامج (SDK)، تأكَّد من أنّ لديك إزالة أي تبعيات حالية لحزمة تطوير البرامج (SDK) للتنقل.
لإضافة حزمة تطوير البرامج (SDK) إلى مشروع جديد أو حالي، اتّبِع الخطوات التالية:
-
افتح Xcode
project
أوworkspace
، ثم انتقِل إلى File >. أضِف تبعيات الحزمة. - أدخِل https://github.com/googlemaps/ios-navigation-sdk كعنوان URL، ثم اضغط على Enter. لسحب الحزمة، والنقر فوق "Add Package" (إضافة حزمة).
-
لتثبيت قاعدة
version
محدّدة، اضبط حقل قاعدة التبعية على أحد الخيارات المستندة إلى الإصدار. وبالنسبة للمشروعات الجديدة، نوصي بتحديد أحدث إصدار باستخدام "الإصدار الدقيق" الخيار. بعد اكتمال عملية النقل، انقر على "إضافة حزمة". -
من نافذة اختيار منتجات الحزمة، تأكَّد من إضافة
GoogleNavigation
إلى هدفmain
المحدد. بعد اكتمال عملية النقل، انقر على "إضافة حزمة". -
للتحقّق من عملية التثبيت، انتقِل إلى جزء
General
في استهدافك. من المفترَض أن تظهر الحِزَم المثبَّتة في أُطر العمل والمكتبات والمحتوى المضمَّن. يمكنك أيضًا عرض قسم "تبعيات الحزمة" قسم "مستكشف المشروع" للتحقق من الحزمة وإصدارها.
لتعديل package
لمشروع حالي، اتّبِع الخطوات التالية:
في حال الترقية من إصدار أقدم من 9.0.0، يجب إزالة التبعيات التالية:
GoogleMapsBase
وGoogleMapsCore
وGoogleMapsM4B
بعد الترقية. لا تقم بإزالة تبعيةGoogleMaps
لمزيد من المعلومات، يُرجى الاطّلاع على ملاحظات الإصدار 9.0.0:من إعدادات ضبط مشروع Xcode، ابحث عن Frameworks وLibraries والمحتوى المضمَّن استخدِم علامة الطرح(-) لإزالة إطار العمل التالي:
GoogleMapsBase
(للترقيات من الإصدارات السابقة على 9.0.0 فقط)GoogleMapsCore
(للترقيات من الإصدارات السابقة على 9.0.0 فقط)GoogleMapsM4B
(للترقيات من الإصدارات السابقة على 9.0.0 فقط)
- من Xcode، انتقل إلى "File >" (ملف >) الحزم > التحديث إلى أحدث إصدارات الحزمة".
- للتحقّق من عملية التثبيت، انتقِل إلى قسم تبعيات الحزمة في Project Navigator (أداة التنقّل في المشروع) للتحقق من الحزمة وإصدارها.
لإزالة العناصر الاعتمادية الحالية لحزمة تطوير البرامج (SDK) للتنقل باستخدام
CocoaPods
، يُرجى اتّباع الخطوات التالية:
- أغلِق مساحة عمل Xcode. افتح المحطة الطرفية ونفِّذ الأمر التالي:
sudo gem install cocoapods-deintegrate cocoapods-clean pod deintegrate pod cache clean --all
-
إزالة
Podfile
وPodfile.resolved
و Xcodeworkspace
إذا كنت لا تستخدمهم لأي غرض آخر غير CocoaPods.
-
من إعدادات ضبط مشروع Xcode، ابحث عن Frameworks وLibraries
والمحتوى المضمَّن استخدِم علامة الطرح(-) لإزالة إطار العمل التالي:
GoogleMaps.xcframework
GoogleMapsBase.xcframework
GoogleMapsCore.xcframework
GoogleNavigation.xcframework
-
من دليل المستوى الأعلى لمشروع Xcode، عليك إزالة
GoogleMaps
. حُزم.
CocoaPods
تتوفر حزمة SDK للتنقل بنظام التشغيل iOS CocoaPods. CocoaPods هو مدير تبعية مفتوح المصدر لكلٍّ من Swift وObjective-C مشروعات الكاكاو.
إذا لم تكن لديك أداة CocoaPods، يمكنك تثبيتها على نظام التشغيل macOS من خلال تشغيل الأمر التالي من الوحدة الطرفية. للحصول على التفاصيل، يمكنك مراجعة CocoaPods دليل البدء
sudo gem install cocoapods
أنشئ Podfile
لحزمة تطوير البرامج (SDK) للتنقل لنظام التشغيل iOS واستخدِمها
تثبيت واجهة برمجة التطبيقات وتبعياتها:
- إذا لم يكن لديك مشروع Xcode حتى الآن، يمكنك إنشاء مشروع الآن وحفظه في
جهازك المحلي. إذا كنت مبتدئًا في مجال تطوير تطبيقات iOS:
- أنشِئ مشروعًا جديدًا.
- حدد iOS > نموذج التطبيق.
- على شاشة خيارات المشروع:
- أدخِل اسم المشروع.
- سجّل قيمة حقل معرّف الحزمة. يمكنك استخدام هذه القيمة لتقييد مفتاح واجهة برمجة التطبيقات أدناه.
- اضبط واجهة المشروع على مخطط القصة.
- اضبط اللغة على Swift أو Objective-C.
- أنشئ ملفًا باسم "
Podfile
" في دليل مشروعك. هذا النمط ملف يحدد تبعيات مشروعك. - يمكنك تعديل
Podfile
وإضافة الموارد التابعة لك إلى جانب إصدارات. فيما يلي مثال يتضمن التبعية التي تحتاجها حزمة SDK للتنقل لنظام التشغيل iOS: مرجع تثبيت # Cocoapods #source 'https://github.com/CocoaPods/Specs.git' platform :ios, '15.0' target 'YOUR_APPLICATION_TARGET_NAME_HERE' do pod 'GoogleNavigation', '9.1.0' end
تأكَّد من تشغيلpod outdated
بانتظام لاكتشاف الإصدارات الأحدث مماثلة. إذا لزم الأمر، عليك ترقية إلى أحدث إصدار. - احفظ
Podfile
. افتح نافذة طرفية وانتقِل إلى الدليل الذي يحتوي على
Podfile
:cd <path-to-project>
شغِّل الأمر
pod install
. يؤدي هذا إلى تثبيت واجهات برمجة التطبيقات المحدّدة فيPodfile
، إلى جانب أي ملحقات.pod install
أغلق Xcode، ثم افتح ملف مشروعك (بالنقر المزدوج)
.xcworkspace
لتشغيل Xcode. من هذا الوقت فصاعدًا، يجب استخدام ملف.xcworkspace
لفتح المشروع.
لتحديث واجهة برمجة التطبيقات لمشروع حالي، اتّبِع الخطوات التالية:
- افتح نافذة طرفية وانتقِل إلى دليل المشروع الذي يحتوي على
Podfile
. - شغِّل الأمر
pod update
. يؤدي هذا إلى تحديث جميع واجهات برمجة التطبيقات المحدد فيPodfile
إلى أحدث إصدار.
التثبيت اليدوي
يوضح هذا الدليل كيفية إضافة XCFrameworks يدويًا التي تحتوي على حزمة تطوير البرامج (SDK) للتنقّل لنظام التشغيل iOS وحزمة تطوير البرامج بالاستناد إلى بيانات "خرائط Google" لنظام التشغيل iOS إلى مشروعك وضبط إعدادات الإصدار في Xcode XCFramework هو حزمة ثنائية يمكنك استخدامها على عدة أنظمة أساسية، بما في ذلك الأجهزة التي تستخدم شريحة M1.
اتبع هذه الخطوات لتثبيت XCFrameworks لحزمة تطوير البرامج (SDK) للتنقل لنظام التشغيل iOS، وحزمة تطوير البرامج بالاستناد إلى بيانات "خرائط Google" لتطبيقات iOS:
- يمكنك تنزيل البرامج الثنائية لحزمة تطوير البرامج (SDK) وملفات الموارد التالية:
- ابدأ تشغيل Xcode وافتح مشروعًا حاليًا أو أنشئ مشروعًا جديدًا مشروعك. إذا كنت مستخدمًا جديدًا لنظام التشغيل iOS، أنشئ مشروعًا جديدًا واختَر نموذج تطبيق iOS.
- إزالة جميع المراجع الحالية للخرائط والتنقل والأماكن من المشروع.
- اسحب XCFrameworks التالي إلى مشروعك ضمن
أعمال الإطارات والمكتبات والمحتوى المضمَّن لتثبيت كل من "خرائط Google"
وحزم SDK للتنقل (عندما يُطلب منك ذلك، اختَر نسخ العناصر عند الحاجة):
GoogleMaps.xcframework
GoogleMapsBase.xcframework
GoogleMapsCore.xcframework
GoogleNavigation.xcframework
- اسحب
GoogleMaps.bundle
من GoogleMapsResources التي نزّلتها. إلى دليل المستوى الأعلى لمشروع Xcode. عندما يُطلب منك ذلك، تأكَّد من اختيار نسخ العناصر إذا لزم الأمر. - اسحب
GoogleNavigation.bundle
من GoogleNavigationResources الذي نزّلته. إلى دليل المستوى الأعلى لمشروع Xcode. يُرجى التأكُّد من ذلك عندما يُطلب منك ذلك. تم اختيار نسخ الملفات إلى مجلد المجموعة الوجهة. - اختَر مشروعك من Project Navigator، ثم اختَر هدف التطبيق.
- افتح علامة التبويب مراحل التصميم وضمن
ربط النظام الثنائي بالمكتبات، أضِف أُطر العمل والمكتبات التالية:
Accelerate.framework
AudioToolbox.framework
AVFoundation.framework
Contacts.framework
CoreData.framework
CoreGraphics.framework
CoreImage.framework
CoreLocation.framework
CoreTelephony.framework
CoreText.framework
GLKit.framework
ImageIO.framework
libc++.tbd
libxml2.tbd
libz.tbd
Metal.framework
OpenGLES.framework
QuartzCore.framework
Security.framework
SystemConfiguration.framework
UIKit.framework
UserNotifications.framework
WebKit.framework
- اختَر علامة التبويب الإمكانات في هدف التطبيق.
تفعيل أوضاع الخلفية وتفعيل الأوضاع التالية:
- ميزة "الصوت" و"AirPlay" و"نافذة ضمن النافذة"
- إشعارات بشأن الموقع الجغرافي
- اختر مشروعك بدلاً من هدف محدد، وافتح زر إنشاء
الإعدادات في القسم علامات الروابط الأخرى،
إضافة
‑ObjC
لكل من debug وrelease. إذا لم تكن هذه الإعدادات مرئية، يمكنك تغيير الفلتر في شريط إعدادات الإصدار من أساسي إلى الكل. - افتح
Info.plist
وأضِف أزواج المفتاح/القيمة التالية:- المفتاح:
NSLocationWhenInUseUsageDescription
(الخصوصية - وصف الموقع الجغرافي عند الاستخدام)
القيمة: "يحتاج هذا التطبيق إلى إذن لاستخدام موقعك الجغرافي من أجل الحصول على اتّجاهات مفصّلة". - المفتاح:
NSLocationAlwaysAndWhenInUseUsageDescription
(الخصوصية - وصف الموقع الجغرافي دائمًا وعند الاستخدام)
القيمة: "يحتاج هذا التطبيق إلى إذن لاستخدام موقعك الجغرافي من أجل الحصول على اتّجاهات مفصّلة".
- المفتاح:
الخطوة 3: فحص ملف بيان الخصوصية في Apple
تشترط Apple تفاصيل خصوصية التطبيقات للتطبيقات المتوفّرة على App Store. يُرجى الانتقال إلى صفحة تفاصيل خصوصية Apple App Store لمعرفة آخر الأخبار ومزيد من المعلومات.
يتم تضمين ملف بيان الخصوصية من Apple في حزمة الموارد لحزمة تطوير البرامج (SDK). للتأكّد من تضمين "ملف بيان الخصوصية" وفحص محتواه، عليك إنشاء أرشيف لتطبيقك وإنشاء تقرير خصوصية من الأرشيف.
الخطوة 4: إضافة مفتاح واجهة برمجة التطبيقات إلى المشروع
توضح الأمثلة التالية كيفية إضافة مفتاح واجهة برمجة التطبيقات إلى مشروعك في Xcode:
Swift
أضِف مفتاح واجهة برمجة التطبيقات إلى AppDelegate.swift
على النحو التالي:
- أضف عبارات الاستيراد التالية:
import GoogleMaps import GoogleNavigation
- أضِف ما يلي إلى
application(_:didFinishLaunchingWithOptions:)
:GMSServices.provideAPIKey("YOUR_API_KEY")
Objective-C
أضِف مفتاح واجهة برمجة التطبيقات إلى AppDelegate.m
على النحو التالي:
- أضف عبارات الاستيراد التالية:
@import GoogleMaps; @import GoogleNavigation;
- أضِف ما يلي إلى
application:didFinishLaunchingWithOptions:
:[GMSServices provideAPIKey:@"YOUR_API_KEY"];
الخطوة 5: إضافة خريطة
يوضح هذا الرمز كيفية إضافة خريطة بسيطة إلى ViewController
موجود،
بما في ذلك بعض الإعدادات الأولية للتنقل.
قبل تمكين التنقل، يجب أن يوافق المستخدم على البنود
الظروف. لطلب من المستخدم، اتصِل
GMSNavigationServices.showTermsAndConditionsDialogIfNeeded()
، ثم التحقق من
لمعرفة ما إذا كانت البنود قد تم قبولها. إذا رفض المستخدم البنود،
mapView.isNavigationEnabled = true
ليس له أي تأثير، وmapView.navigator
لا شيء
Swift
import UIKit import GoogleNavigation class ViewController: UIViewController { var mapView: GMSMapView! var locationManager: CLLocationManager! override func loadView() { locationManager = CLLocationManager() locationManager.requestAlwaysAuthorization() let options = GMSMapViewOptions() options.camera = camera options.frame = .zero mapView = GMSMapView(options: options) // Show the terms and conditions. let termsAndConditionsOptions = GMSNavigationTermsAndConditionsOptions(companyName: "Ride Share Co.") GMSNavigationServices.showTermsAndConditionsDialogIfNeeded(with: termsAndConditionsOptions) { termsAccepted in if termsAccepted { // Enable navigation if the user accepts the terms. self.mapView.isNavigationEnabled = true } else { // Handle the case when the user rejects the terms and conditions. } } view = mapView } // TODO: Add navigation code. }
Objective-C
#import "ViewController.h" @import GoogleNavigation; @interface ViewController () @end @implementation ViewController GMSMapView *_mapView; CLLocationManager *_locationManager; - (void)loadView { _locationManager = [[CLLocationManager alloc] init]; [_locationManager requestAlwaysAuthorization]; GMSCameraPosition *camera = [GMSCameraPosition cameraWithLatitude:47.67 longitude:-122.20 zoom:14]; GMSMapViewOptions *options = [[GMSMapViewOptions alloc] init]; options.frame = CGRectZero; options.camera = camera; options.mapID = mapID; _mapView = [[GMSMapView alloc] initWithOptions:options]; // Show the terms and conditions. GMSNavigationTermsAndConditionsOptions *termsAndConditionsOptions = [[GMSNavigationTermsAndConditionsOptions alloc] initWithCompanyName:@"Ride Sharing Co."]; [GMSNavigationServices showTermsAndConditionsDialogIfNeededWithOptions:termsAndConditionsOptions callback:^(BOOL termsAccepted) { if (termsAccepted) { // Enable navigation if the user accepts the terms. _mapView.navigationEnabled = YES; } else { // Handle the case when the user rejects the terms and conditions. } }]; self.view = _mapView; } // TODO: Add navigation code. @end
شغِّل التطبيق. يجب أن تظهر لك خريطة تتمركز فوق كيركلاند، واشنطن.
إذا لم تكن الخريطة مرئية، يمكنك تجربة ما يلي:
- تأكَّد من تقديم مفتاح واجهة برمجة التطبيقات الصحيح.
- تأكَّد من أنّ حزمة NavSDK مفعَّلة في Cloud Console.
- في حال تثبيت حزمة تطوير البرامج (SDK) للتنقل، ولكنّ مشروعك لا يستخدم واجهات برمجة تطبيقات Nav SDK، عليك إزالتها من البرنامج الثنائي.
إذا كنت أحد عملاء "خدمات الجوّال"
إذا كنت أحد عملاء "خدمات الجوّال"، تعرَّف على معلومات عن الفوترة. في وثائق التنقل. لمزيد من المعلومات حول التسجيل المعاملات، راجع إعداد الفوترة للتعرّف على كيفية إضافة معرّفات المعاملات إلى عملية تنفيذ حزمة تطوير البرامج (SDK) للتنقّل، يمكنك الاطّلاع على ربط استخدام الخدمة بمعاملات التنقّل
الخطوات التالية
والآن بعد أن أصبح لديك مفتاح واجهة برمجة التطبيقات ومشروع Xcode، يمكنك إنشاء التطبيقات وتشغيلها. توفر حزمة SDK للتنقل لنظام التشغيل iOS برامج تعليمية يمكن أن تساعدك للبدء. لمزيد من التفاصيل، يُرجى الاطّلاع على:
- الفيديوهات التعليمية