اتبع الخطوات الواردة في هذا الدليل لتنزيل حزمة تطوير البرامج (SDK) للأماكن التي تعمل بنظام التشغيل iOS، لإضافة المكتبة وتبعياتها إلى تطبيقك، والحصول على مفتاح واجهة برمجة تطبيقات بدون أي رسوم.
تتوفر ملاحظات الإصدار لكل إصدار.
الخطوة 1: الحصول على أحدث إصدار من Xcode
لإنشاء مشروع باستخدام حزمة تطوير برامج الأماكن لأجهزة iOS، تحتاج إلى ما يلي:
الخطوة 2: تثبيت حزمة تطوير البرامج (SDK)
لتثبيت واجهة برمجة التطبيقات في مشروع جديد، اتّبِع الخطوات التالية:استخدام Cocoapods
تتوفّر حزمة تطوير البرامج (SDK) للأماكن في نظام التشغيل iOS على شكل مجموعة CocoaPod، وهي Googleالأماكن التي تحتوي على جميع وظائف الأماكن.
CocoaPods هو مدير اعتمادية مفتوحة المصدر لمشاريع Swift وGOAL-C Cocoa. إذا لم تكن لديك أداة CocoaPods، يمكنك تثبيتها على نظام التشغيل macOS من خلال تنفيذ الأمر التالي من الوحدة الطرفية. ولمعرفة التفاصيل، يُرجى الاطّلاع على دليل البدء في استخدام CocoaPods.
sudo gem install cocoapods
أنشئ Podfile
لحزمة تطوير البرامج لحزمة تطوير البرامج (SDK) للأماكن التي تعمل بنظام التشغيل iOS، واستخدِمها
لتثبيت حزمة تطوير البرامج (SDK) وتبعياتها:
- إذا لم يكن لديك مشروع Xcode بعد، يمكنك إنشاؤه الآن وحفظه في جهازك المحلي. إذا كنت لا تزال مبتدئًا في مجال تطوير تطبيقات iOS، أنشِئ مشروعًا جديدًا واختَر نموذج تطبيق iOS.
- أنشِئ ملفًا باسم
Podfile
في دليل مشروعك. يحدِّد هذا الملف اعتماديات مشروعك. - يمكنك تعديل
Podfile
وإضافة الاعتماديات مع إصداراتها. في ما يلي مثال يحدّد اسم التطبيق المستهدَف واسم مجموعة الإعلاناتGooglePlaces
:source 'https://github.com/CocoaPods/Specs.git' platform :ios, '14.0' target 'YOUR_APPLICATION_TARGET_NAME_HERE' do pod 'GooglePlaces', '8.0.0' end
احرص على تشغيلpod outdated
بانتظام لمعرفة متى يتوفّر إصدار أحدث، وذلك لضمان استخدامك أحدث إصدار دائمًا. - احفظ
Podfile
. افتَح محطة طرفية وانتقِل إلى الدليل الذي يحتوي على
Podfile
:cd <path-to-project>
شغِّل الأمر
pod install
. سيؤدي ذلك إلى تثبيت واجهات برمجة التطبيقات المحدّدة فيPodfile
، إلى جانب أي تبعيات قد تكون لديه.pod install
أغلِق Xcode، ثم افتح (انقر مرتين) ملف مشروعك
.xcworkspace
لتشغيل Xcode. واعتبارًا من تلك اللحظة، عليك استخدام ملف.xcworkspace
لفتح المشروع.
لتعديل واجهة برمجة تطبيقات لمشروع حالي، يمكنك اتّباع الخطوات التالية:
- افتَح محطة دفع وانتقِل إلى دليل المشروع الذي يحتوي على
Podfile
. - شغِّل الأمر
pod update
. سيؤدي هذا الإجراء إلى تعديل جميع واجهات برمجة التطبيقات المحدّدة فيPodfile
إلى أحدث إصدار.
استخدام قرطاج
إنّ حزمة تطوير البرامج (SDK) للأماكن التي تعمل بنظام التشغيل iOS متاحة للاستخدام مع تطبيق Carthage، وهو مدير اعتمادية لامركزي بسيط لمشاريع Swift وGOAL-C Cocoa.
- تثبيت قرطاج تتوفر عدة طرق، ولذلك يمكنك الاطّلاع على ملف readME بقرطاج لمعرفة الخطوات الدقيقة.
- إذا لم يكن لديك مشروع Xcode بعد، يمكنك إنشاؤه الآن وحفظه في جهازك المحلي. إذا كنت لا تزال مبتدئًا في مجال تطوير تطبيقات iOS، أنشِئ مشروعًا جديدًا واختَر نموذج تطبيق iOS.
- أنشِئ ملفًا باسم
Cartfile
في دليل مشروعك. يحدد هذا الملف العناصر التابعة لمشروعك. - يمكنك تعديل
Cartfile
وإضافة الاعتماديات مع الإصدارات الخاصة بها:
binary "https://dl.google.com/geosdk/GooglePlaces.json" == 6.2.1
احرص على تشغيلcarthage outdated
بانتظام لمعرفة الوقت الذي يتم فيه تشغيل الإصدار الأحدث لضمان توفّر أحدث إصدار منها. - احفظ
Cartfile
. - في نافذة طرفية، انتقِل إلى الدليل الذي يحتوي على
Cartfile
:
cd <path-to-project>
- شغِّل الأمر
carthage update
. سيؤدي ذلك إلى تثبيت واجهات برمجة التطبيقات المحدّدة فيCartfile
، إلى جانب أي تبعيات قد تكون لديه. - في Finder (الباحث)، انتقِل إلى إطار عمل المشروع الذي تم تنزيله ضمن
Carthage/Build/iOS
في دليل مشروعك. - اسحب الحِزم التالية إلى مشروعك (عندما يُطلب منك اختيار
نسخ العناصر إذا لزم الأمر):
GooglePlaces-x.x.x/Frameworks/GooglePlaces.xcframework
- انقر بزر الماوس الأيمن على
GooglePlaces.xcframework
في مشروعك، واختَر إظهار في الباحث. - اسحب السمة
GooglePlaces.bundle
من المجلدResources
إلى مشروعك. تأكّد من عدم اختيار نسخ العناصر إلى مجلد المجموعة الوجهة عندما يُطلب منك ذلك. - اختَر مشروعك من خلال Project Navigator، ثم اختَر هدف التطبيق.
- افتح علامة التبويب إصدارات المراحل، وضمن ربط برنامج ثنائي بالمكتبات، أضِف أُطر العمل والمكتبات التالية:
CoreGraphics.framework
CoreLocation.framework
libc++.tbd
libz.tbd
QuartzCore.framework
UIKit.framework
اختَر مشروعك بدلاً من هدف محدَّد وافتح علامة تبويب إعدادات الإصدار.
- في قسم علامات الرابط الأخرى، أضِف
-ObjC
. إذا لم تكن هذه الإعدادات مرئية، يمكنك تغيير الفلتر في شريط إعدادات الإصدار من أساسي إلى الكل.
لتعديل واجهة برمجة تطبيقات لمشروع حالي، يمكنك اتّباع الخطوات التالية:
- افتَح محطة دفع وانتقِل إلى دليل المشروع الذي يحتوي على
Cartfile
. - شغِّل الأمر
carthage update
. سيؤدي هذا الإجراء إلى تعديل جميع واجهات برمجة التطبيقات المحدّدة فيCartfile
إلى أحدث إصدار.
التثبيت يدويًا
يشرح هذا الدليل كيفية إضافة إطار عمل Googleالأماكن يدويًا إلى مشروعك وضبط إعدادات الإصدار في Xcode.
- نزّل ملفات المصدر من حزمة تطوير البرامج (SDK): Googleالأماكن-8.0.0
- فُكَّ حزمة ملفات المصدر.
- شغِّل Xcode وافتح مشروعًا حاليًا أو أنشئ مشروعًا جديدًا. إذا كنت لا تزال مبتدئًا في مجال تطوير تطبيقات iOS، أنشِئ مشروعًا جديدًا واختَر نموذج تطبيق iOS.
- يجب إزالة أي حِزم من "خرائط Google" من الإصدارات السابقة من مشروعك.
- اسحب الحِزم التالية إلى مشروعك (عندما يُطلب منك اختيار
نسخ العناصر إذا لزم الأمر):
GooglePlaces-x.x.x/Frameworks/GooglePlaces.xcframework
- انقر بزر الماوس الأيمن على
GooglePlaces.xcframework
في مشروعك، واختَر إظهار في الباحث. - اسحب السمة
GooglePlaces.bundle
من المجلدResources
إلى مشروعك. تأكّد من عدم اختيار نسخ العناصر إلى مجلد المجموعة الوجهة عندما يُطلب منك ذلك. - اختَر مشروعك من خلال Project Navigator، ثم اختَر هدف التطبيق.
- افتح علامة التبويب إصدارات المراحل، وضمن ربط برنامج ثنائي بالمكتبات، أضِف أُطر العمل والمكتبات التالية:
CoreGraphics.framework
CoreLocation.framework
libc++.tbd
libz.tbd
QuartzCore.framework
UIKit.framework
اختَر مشروعك بدلاً من هدف محدَّد وافتح علامة تبويب إعدادات الإصدار.
- في قسم علامات الرابط الأخرى، أضِف
-ObjC
. إذا لم تكن هذه الإعدادات مرئية، يمكنك تغيير الفلتر في شريط إعدادات الإصدار من أساسي إلى الكل.
تثبيت إطار عمل CCframework
XCframework هي حزمة ثنائية يمكنك استخدامها على أنظمة أساسية متعددة، بما في ذلك الأجهزة التي تستخدم مجموعة M1، لتثبيت حزمة تطوير برامج الأماكن على أجهزة iOS. يوضح هذا الدليل كيفية إضافة XCframework الذي يحتوي على حزمة تطوير البرامج (SDK) للأماكن في نظام التشغيل iOS إلى مشروعك وضبط إعدادات الإصدار في Xcode.
مع قرطاج
إنّ حزمة تطوير البرامج (SDK) للأماكن التي تعمل بنظام التشغيل iOS متاحة للاستخدام مع Carthage، وهو مدير اعتمادية لامركزي بسيط لمشاريع Swift وGOAL-C Cocoa.
- تثبيت قرطاج تتوفر عدة طرق، ولذلك يمكنك الاطّلاع على ملف readME بقرطاج لمعرفة الخطوات الدقيقة.
- إذا لم يكن لديك مشروع Xcode بعد، يمكنك إنشاؤه الآن وحفظه في جهازك المحلي. إذا كنت لا تزال مبتدئًا في مجال تطوير تطبيقات iOS، أنشِئ مشروعًا جديدًا واختَر نموذج تطبيق iOS.
- أنشِئ ملفًا باسم
Cartfile
في دليل مشروعك. يحدِّد هذا الملف العناصر التابعة لمشروعك. يمكنك تعديل
Cartfile
وإضافة الاعتماديات إلى جانب إصداراتها:binary "https://dl.google.com/geosdk/GooglePlaces.json" == 6.2.1-beta
- احفظ
Cartfile
. في نافذة الوحدة الطرفية، انتقِل إلى الدليل الذي يحتوي على
Cartfile
:cd <path-to-project>
- شغِّل الأمر
carthage update
. سيؤدي ذلك إلى تثبيت واجهات برمجة التطبيقات المحدّدة فيCartfile
، إلى جانب أي تبعيات قد تكون لديه. - في الباحث، في دليل المشروع، انتقِل إلى ملفات إطار العمل التي تم تنزيلها ضمن
Carthage/Build
. - اسحب إطار XCframework التالي إلى مشروعك ضمن
الإطارات والمكتبات والمحتوى المضمَّن. احرص على اختيار عدم التضمين:
GooglePlaces-x.x.x/GooglePlaces.xcframework
- انقر بزر الماوس الأيمن على
GooglePlaces.xcframework
في مشروعك، واختَر إظهار في الباحث. - اسحب السمة
GooglePlaces.bundle
من المجلدios-arm64/GooglePlaces.framework/Resources
إلى دليل المستوى الأعلى في مشروع Xcode. تأكّد من عدم اختيار نسخ العناصر إلى مجلد المجموعة المقصودة عندما يُطلب منك ذلك. - اختَر مشروعك من خلال Project Navigator، ثم اختَر هدف التطبيق.
- افتح علامة التبويب إصدارات المراحل، وضمن ربط برنامج ثنائي بالمكتبات، وأضِف أُطر العمل والمكتبات التالية:
CoreGraphics.framework
CoreLocation.framework
libc++.tbd
libz.tbd
QuartzCore.framework
UIKit.framework
اختَر مشروعك بدلاً من هدف محدَّد وافتح علامة تبويب إعدادات الإصدار.
- في قسم علامات الرابط الأخرى، أضِف
-ObjC
. إذا لم تكن هذه الإعدادات مرئية، يمكنك تغيير الفلتر في شريط إعدادات الإصدار من أساسي إلى الكل.
يدويًا
يوضح هذا الدليل كيفية إضافة حزمة تطوير البرامج (SDK) في "خرائط Google" لنظام التشغيل iOS إلى مشروعك وضبط إعدادات الإصدار في Xcode.
- نزِّل ملفات مصدر حزمة تطوير البرامج (SDK): Googleالأماكن-8.0.0.
- فُكَّ حزمة ملفات المصدر. انتقِل إلى المجلد frameworks للوصول إلى XCframework.
- شغِّل Xcode وافتح مشروعًا حاليًا أو أنشئ مشروعًا جديدًا. إذا كنت مستخدمًا جديدًا لنظام التشغيل iOS، أنشئ مشروعًا جديدًا واختَر نموذج تطبيق iOS.
- اسحب إطار XCframework التالي إلى مشروعك ضمن
الإطارات والمكتبات والمحتوى المضمَّن. احرص على اختيار عدم التضمين:
GooglePlaces-x.x.x/GooglePlaces.xcframework
- انقر بزر الماوس الأيمن على
GooglePlaces.xcframework
في مشروعك، واختَر إظهار في الباحث. - اسحب السمة
GooglePlaces.bundle
من المجلدios-arm64/GooglePlaces.framework/Resources
إلى دليل المستوى الأعلى في مشروع Xcode. تأكّد من عدم اختيار نسخ العناصر إلى مجلد المجموعة المقصودة عندما يُطلب منك ذلك. - اختَر مشروعك من خلال Project Navigator، ثم اختَر هدف التطبيق.
- افتح علامة التبويب إصدارات المراحل، وضمن ربط برنامج ثنائي بالمكتبات، وأضِف أُطر العمل والمكتبات التالية:
CoreGraphics.framework
CoreLocation.framework
libc++.tbd
libz.tbd
QuartzCore.framework
UIKit.framework
اختَر مشروعك بدلاً من هدف محدَّد وافتح علامة تبويب إعدادات الإصدار.
- في قسم علامات الرابط الأخرى، أضِف
-ObjC
. إذا لم تكن هذه الإعدادات مرئية، يمكنك تغيير الفلتر في شريط إعدادات الإصدار من أساسي إلى الكل.
الخطوة 3: إضافة مفتاح واجهة برمجة التطبيقات إلى تطبيقك
في الأمثلة التالية، استبدِل YOUR_API_KEY
بمفتاح واجهة برمجة التطبيقات.
Swift
أضِف مفتاح واجهة برمجة التطبيقات إلى AppDelegate.swift
على النحو التالي:
- أضِف عبارة الاستيراد التالية:
import GooglePlaces
- أضِف ما يلي إلى طريقة
application(_:didFinishLaunchingWithOptions:)
، مع استبدال YOUR_API_KEY بمفتاح واجهة برمجة التطبيقات:GMSPlacesClient.provideAPIKey("YOUR_API_KEY")
Objective-C
أضِف مفتاح واجهة برمجة التطبيقات إلى AppDelegate.m
على النحو التالي:
- أضِف عبارة الاستيراد التالية:
@import GooglePlaces;
- أضِف ما يلي إلى طريقة
application:didFinishLaunchingWithOptions:
، مع استبدال YOUR_API_KEY بمفتاح واجهة برمجة التطبيقات:[GMSPlacesClient provideAPIKey:@"YOUR_API_KEY"];
الخطوة 4: بدء كتابة الرمز
توضح نماذج الرموز التالية كيفية الحصول على المكان الحالي.
Swift
import GooglePlaces import UIKit class GetStartedViewController : UIViewController { // Add a pair of UILabels in Interface Builder, and connect the outlets to these variables. @IBOutlet private var nameLabel: UILabel! @IBOutlet private var addressLabel: UILabel! private var placesClient: GMSPlacesClient! override func viewDidLoad() { super.viewDidLoad() placesClient = GMSPlacesClient.shared() } // Add a UIButton in Interface Builder, and connect the action to this function. @IBAction func getCurrentPlace(_ sender: UIButton) { let placeFields: GMSPlaceField = [.name, .formattedAddress] placesClient.findPlaceLikelihoodsFromCurrentLocation(withPlaceFields: placeFields) { [weak self] (placeLikelihoods, error) in guard let strongSelf = self else { return } guard error == nil else { print("Current place error: \(error?.localizedDescription ?? "")") return } guard let place = placeLikelihoods?.first?.place else { strongSelf.nameLabel.text = "No current place" strongSelf.addressLabel.text = "" return } strongSelf.nameLabel.text = place.name strongSelf.addressLabel.text = place.formattedAddress } } }
Objective-C
#import "GetStartedViewController.h" @import GooglePlaces; @interface GetStartedViewController () // Add a pair of UILabels in Interface Builder and connect the outlets to these variables @property (weak, nonatomic) IBOutlet UILabel *nameLabel; @property (weak, nonatomic) IBOutlet UILabel *addressLabel; @end @implementation GetStartedViewController { GMSPlacesClient *_placesClient; } - (void)viewDidLoad { [super viewDidLoad]; _placesClient = [GMSPlacesClient sharedClient]; } // Add a pair of UILabels in Interface Builder and connect the outlets to these variables. - (IBAction)getCurrentPlace:(UIButton *)sender { GMSPlaceField placeFields = (GMSPlaceFieldName | GMSPlaceFieldFormattedAddress); __weak typeof(self) weakSelf = self; [_placesClient findPlaceLikelihoodsFromCurrentLocationWithPlaceFields:placeFields callback:^(NSArray<GMSPlaceLikelihood *> * _Nullable likelihoods, NSError * _Nullable error) { __typeof__(self) strongSelf = weakSelf; if (strongSelf == nil) { return; } if (error != nil) { NSLog(@"An error occurred %@", [error localizedDescription]); return; } GMSPlace *place = likelihoods.firstObject.place; if (place == nil) { strongSelf.nameLabel.text = @"No current place"; strongSelf.addressLabel.text = @""; return; } strongSelf.nameLabel.text = place.name; strongSelf.addressLabel.text = place.formattedAddress; }]; } @end
الخطوات التالية
بعد إعداد مشروعك، يمكنك استكشاف نماذج التطبيقات. يجب تثبيت الإصدار 1.6.1 من Cocoapods.