إعداد مشروع Xcode

بعد تفعيل الفوترة وإنشاء مفتاح واجهة برمجة التطبيقات، يمكنك إعداد مشروع Xcode الذي تستخدمه لتطوير تطبيقك.

تتوفر ملاحظات الإصدار لكل إصدار.

الخطوة 1: تثبيت البرنامج المطلوب

لإنشاء مشروع باستخدام حزمة تطوير البرامج بالاستناد إلى بيانات "خرائط Google" لنظام التشغيل iOS، يجب عليك تنزيل وتثبيت:

  • Xcode الإصدار 14.0 أو إصدار أحدث
  • أشجار الكاكاوبود

الخطوة 2: إنشاء مشروع Xcode وتثبيت Google Maps SDK لنظام التشغيل iOS

لتثبيت واجهة برمجة التطبيقات في مشروع جديد، يُرجى اتّباع الخطوات التالية:

استخدام CocoaPods

تتوفر حزمة تطوير البرامج (SDK) لـ "خرائط Google" لأجهزة iOS في شكل لوحة CocoaPods المتسلسلة. CocoaPods هي مديرة اعتمادية مفتوحة المصدر لمشاريع Cocoa وSwift.

إذا لم تكن لديك أداة CocoaPods، يُرجى تثبيتها على نظام التشغيل macOS من خلال تنفيذ الأمر التالي من الوحدة الطرفية. لمعرفة التفاصيل، يُرجى الاطّلاع على دليل البدء في CocoaPods.

sudo gem install cocoapods

أنشِئ Podfile لحزمة تطوير البرامج (SDK) لـ "خرائط Google" لنظام التشغيل iOS واستخدِمها لتثبيت واجهة برمجة التطبيقات وملحقاتها:

  1. إذا لم يكن لديك مشروع Xcode حتى الآن، يمكنك إنشاء مشروع الآن وحفظه على جهازك المحلي. إذا كنت مستخدمًا جديدًا في مجال تطوير تطبيقات iOS:
    1. أنشِئ مشروعًا جديدًا.
    2. اختر نموذج iOS > التطبيق.
    3. في شاشة خيارات المشروع:
      1. أدخِل اسم المشروع.
      2. سجِّل قيمة حقل معرِّف الحزمة. يمكنك استخدام هذه القيمة لتقييد مفتاح واجهة برمجة التطبيقات أدناه.
      3. اضبط واجهة المشروع على مخطط القصة.
      4. اضبط اللغة على Swift أو Target-C.
  2. أنشئ ملفًا باسم Podfile في دليل مشروعك. يحدد هذا الملف تبعيات مشروعك.
  3. عدِّل Podfile وأضِف تبعياتك مع versions. في ما يلي مثال يتضمّن التبعية التي تحتاجها لحزمة تطوير البرامج (SDK) لـ "خرائط Google" لنظام التشغيل iOS:
    source 'https://github.com/CocoaPods/Specs.git'
    
    platform :ios, '14.0'
    
    target 'YOUR_APPLICATION_TARGET_NAME_HERE' do
      pod 'GoogleMaps', '8.3.0'
    end
    
    احرص على تشغيل pod outdated بانتظام لرصد ما إذا كان هناك إصدار أحدث لضمان توفُّر أحدث إصدار بصفة دائمة. إذا لزم الأمر، يمكنك الترقية إلى أحدث إصدار.
  4. احفظ Podfile.
  5. افتح وحدة طرفية وانتقِل إلى الدليل الذي يحتوي على الإجراء Podfile:

    cd <path-to-project>
  6. نفِّذ الأمر pod install. سيؤدي هذا الإجراء إلى تثبيت واجهات برمجة التطبيقات المحدّدة في Podfile، بالإضافة إلى أي تبعيات قد تكون لديك.

    pod install
  7. أغلِق Xcode ثمّ افتح ملف .xcworkspace الخاص بمشروعك (انقر مرّتين) لتشغيله لتشغيل Xcode. من الآن فصاعدًا، يجب استخدام ملف .xcworkspace لفتح المشروع.

لتحديث واجهة برمجة التطبيقات لمشروع حالي، اتّبِع الخطوات التالية:

  1. افتح وحدة طرفية وانتقِل إلى دليل المشروع الذي يحتوي على Podfile.
  2. نفِّذ الأمر pod update. سيؤدي هذا الإجراء إلى تحديث جميع واجهات برمجة التطبيقات المحدّدة في Podfile إلى أحدث إصدار.

التثبيت يدويًا

يوضح هذا الدليل كيفية إضافة XCFrameworks الذي يحتوي على حزمة تطوير البرامج (SDK) لتطبيق "خرائط Google" لنظام التشغيل iOS إلى مشروعك وتهيئة إعدادات الإصدار في Xcode. XCFramework عبارة عن حزمة ثنائية يمكنك استخدامها على أنظمة أساسية متعددة، بما في ذلك الأجهزة التي تستخدم Apple silicon.
  1. نزِّل برامج SDK الثنائية وملفات الموارد التالية:
  2. فك ضغط الملفات المضغوطة للوصول إلى XCFrameworks والموارد.
  3. إذا لم يكن لديك مشروع Xcode حتى الآن، يمكنك إنشاء مشروع الآن وحفظه على جهازك المحلي. إذا كنت مستخدمًا جديدًا في مجال تطوير تطبيقات iOS:
    1. أنشِئ مشروعًا جديدًا.
    2. اختر نموذج iOS > التطبيق.
    3. في شاشة خيارات المشروع:
      1. أدخِل اسم المشروع.
      2. سجِّل قيمة حقل معرِّف الحزمة. يمكنك استخدام هذه القيمة لتقييد مفتاح واجهة برمجة التطبيقات أدناه.
      3. اضبط واجهة المشروع على مخطط القصة.
      4. اضبط اللغة على Swift أو Target-C.
  4. اسحب عناصر XCFrameworks التالية إلى مشروعك ضِمن Frameworks, Libraries, and inline content (أعمال الأطر والمكتبات والمحتوى المضمَّن). تأكّد من اختيار عدم التضمين لكل XCFramework:
    • GoogleMaps.xcframework
    • GoogleMapsBase.xcframework
    • GoogleMapsCore.xcframework
    • (لعملاء الخطة المميّزة فقط) GoogleMapsM4B.xcframework
  5. اسحب GoogleMaps.bundle من GoogleMapsResources الذي نزّلته إلى دليل المستوى الأعلى لمشروع Xcode الخاص بك. تأكَّد من اختيار نسخ العناصر إذا لزم الأمر عندما يُطلب منك ذلك.
  6. اختَر مشروعك من Project Navigator، واختَر هدف تطبيقك.
  7. افتح علامة التبويب مراحل الإنشاء لهدف تطبيقك، وضمن ربط النظام الثنائي مع المكتبات، أضِف أُطر العمل والمكتبات التالية:
    • Accelerate.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
    • QuartzCore.framework
    • SystemConfiguration.framework
    • UIKit.framework
  8. اختَر مشروعك بدلاً من هدف محدّد، ثم افتح علامة التبويب إعدادات الإصدار. في القسم علامات الروابط الأخرى، أضِف -ObjC. إذا لم تكن هذه الإعدادات مرئية، يمكنك تغيير الفلتر في شريط إعدادات الإصدار من أساسي إلى الكل.

  9. لتثبيت حزمة تطوير برامج الأماكن لأجهزة iOS XCFramework، راجع بدء استخدام حزمة تطوير برامج الأماكن لأجهزة iOS.

الخطوة 3: إضافة مفتاح واجهة برمجة التطبيقات إلى المشروع

في حقل الحصول على مفتاح واجهة برمجة التطبيقات، أنشأت مفتاح واجهة برمجة تطبيقات لتطبيقك. والآن أضِف هذا المفتاح إلى مشروع Xcode.

في الأمثلة التالية، استبدِل YOUR_API_KEY بمفتاح واجهة برمجة التطبيقات.

.

لمعرفة المزيد من المعلومات.

Swift

أضِف مفتاح واجهة برمجة التطبيقات إلى AppDelegate.swift على النحو التالي:

  1. أضِف عبارة الاستيراد التالية:
    import GoogleMaps
  2. أضِف الإجراء التالي إلى طريقة application(_:didFinishLaunchingWithOptions:) باستخدام مفتاح واجهة برمجة التطبيقات:
    GMSServices.provideAPIKey("YOUR_API_KEY")
  3. إذا كنت تستخدم أيضًا Places API، يُرجى إضافة المفتاح مرة أخرى كما هو موضَّح هنا:
    GMSPlacesClient.provideAPIKey("YOUR_API_KEY")

Objective-C

أضِف مفتاح واجهة برمجة التطبيقات إلى AppDelegate.m على النحو التالي:

  1. أضِف عبارة الاستيراد التالية:
    @import GoogleMaps;
  2. أضِف الإجراء التالي إلى طريقة application:didFinishLaunchingWithOptions: باستخدام مفتاح واجهة برمجة التطبيقات:
    [GMSServices provideAPIKey:@"YOUR_API_KEY"];
  3. إذا كنت تستخدم أيضًا Places API، يُرجى إضافة المفتاح مرة أخرى كما هو موضَّح هنا:
    [GMSPlacesClient provideAPIKey:@"YOUR_API_KEY"];

الخطوة 4: إضافة خريطة

Swift

/*
 *   Copyright 2020 Google Inc. All rights reserved.
 *
 *
 *   Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
 *   file except in compliance with the License. You may obtain a copy of the License at
 *
 *   http://www.apache.org/licenses/LICENSE-2.0
 *
 *   Unless required by applicable law or agreed to in writing, software distributed under
 *   the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
 *   ANY KIND, either express or implied. See the License for the specific language governing
 *   permissions and limitations under the License.
 */

import UIKit
import GoogleMaps

class ViewController: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view.
        // Create a GMSCameraPosition that tells the map to display the
        // coordinate -33.86,151.20 at zoom level 6.

        let options = GMSMapViewOptions()
        options.camera = GMSCameraPosition.camera(withLatitude: -33.86, longitude: 151.20, zoom: 6.0)
        options.frame = self.view.bounds

        let mapView = GMSMapView(options: options)
        self.view.addSubview(mapView)

        // Creates a marker in the center of the map.
        let marker = GMSMarker()
        marker.position = CLLocationCoordinate2D(latitude: -33.86, longitude: 151.20)
        marker.title = "Sydney"
        marker.snippet = "Australia"
        marker.map = mapView
  }
}

Objective-C

/*
*   Copyright 2020 Google Inc. All rights reserved.
*
*
*   Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
*   file except in compliance with the License. You may obtain a copy of the License at
*
*   http://www.apache.org/licenses/LICENSE-2.0
*
*   Unless required by applicable law or agreed to in writing, software distributed under
*   the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
*   ANY KIND, either express or implied. See the License for the specific language governing
*   permissions and limitations under the License.
*/

#import "ViewController.h"
#import <GoogleMaps/GoogleMaps.h>

@interface ViewController()

@end

@implementation ViewController

-   (void)viewDidLoad {
  [super viewDidLoad];
  // Do any additional setup after loading the view.
  // Create a GMSCameraPosition that tells the map to display the
  // coordinate -33.86,151.20 at zoom level 6.
  GMSMapViewOptions *options = [[GMSMapViewOptions alloc] init];
  options.camera = [GMSCameraPosition cameraWithLatitude:-33.8683
                                                        longitude:151.2086
                                                             zoom:6];
  options.frame = self.view.bounds;
  GMSMapView *mapView = [[GMSMapView alloc] initWithOptions:options];

  [self.view addSubview:mapView];

  // Creates a marker in the center of the map.
  GMSMarker *marker = [[GMSMarker alloc] init];
  marker.position = CLLocationCoordinate2DMake(-33.86, 151.20);
  marker.title = @"Sydney";
  marker.snippet = @"Australia";
  marker.map = mapView;
}

@end

الخطوة 5 (اختيارية): تحديد مخططات عناوين URL التي تستخدمها واجهة برمجة التطبيقات

واعتبارًا من نظامَي التشغيل iOS 9 وXcode 7، يمكن للتطبيقات الإعلان عن مخططات عناوين URL التي تريد فتحها، وذلك من خلال تحديد المخططات في ملف Info.plist الخاص بالتطبيق. تفتح حزمة SDK للخرائط لنظام التشغيل iOS تطبيق خرائط Google للجوّال عندما ينقر المستخدم على شعار Google على الخريطة، وبالتالي يمكن لتطبيقك توضيح أنظمة عناوين URL ذات الصلة.

لتوضيح مخططات عناوين URL التي تستخدمها حزمة تطوير البرامج (SDK) لـ "خرائط Google" لنظام التشغيل iOS، أضِف الأسطر التالية إلى Info.plist:

LSApplicationQueriesSchemes googlechromes comgooglemaps

تعرض لقطة الشاشة التالية الإعدادات في واجهة مستخدم Xcode:

إعداد LSApplicationQuerySchemes في
Xcode

بدون البيان أعلاه، يمكن أن تحدث الأخطاء التالية عندما ينقر المستخدم على شعار Google على الخريطة:

-canOpenURL: تعذّر إتمام العملية لعنوان URL: "comgooglemaps://" - الخطأ: "هذا التطبيق غير مسموح له بطلب البحث عن مخطط comgooglemaps" -canOpenURL: تعذّر إتمام الطلب لعنوان URL: "googlechromes://" - الخطأ: "غير مسموح لهذا التطبيق بطلب البحث عن مخطط googlechromes"

لإزالة هذه الأخطاء، أضِف البيان إلى Info.plist.

الخطوات التالية

بعد أن حصلت على مفتاح واجهة برمجة التطبيقات ومشروع Xcode، يمكنك إنشاء التطبيقات وتشغيلها. توفر حزمة تطوير البرامج بالاستناد إلى بيانات "خرائط Google" لنظام التشغيل iOS العديد من البرامج التعليمية ونماذج التطبيقات التي يمكن أن تساعدك في البدء. لمزيد من التفاصيل، يُرجى الاطّلاع على: