یک پروژه Xcode راه اندازی کنید

پس از فعال کردن صورتحساب و ایجاد یک کلید API، آماده راه اندازی پروژه Xcode هستید که برای توسعه برنامه خود استفاده می کنید.

یادداشت های انتشار برای هر نسخه در دسترس هستند.

مرحله 1: نرم افزار مورد نیاز را نصب کنید

برای ساختن یک پروژه با استفاده از Maps SDK برای iOS، باید دانلود و نصب کنید:

  • Xcode نسخه 15.0 یا بالاتر

مرحله 2: پروژه Xcode را ایجاد کرده و Maps SDK را برای iOS نصب کنید

مدیر بسته سوئیفت

Maps SDK برای iOS را می توان از طریق Swift Package Manager نصب کرد. برای افزودن SDK، مطمئن شوید که نقشه های SDK موجود برای وابستگی های iOS را حذف کرده اید.

برای افزودن SDK به یک پروژه جدید یا موجود، مراحل زیر را دنبال کنید:

  1. project یا workspace Xcode خود را باز کنید، سپس به File > Add Package Dependencies بروید.
  2. https://github.com/googlemaps/ios-maps-sdk را به عنوان URL وارد کنید، Enter را فشار دهید تا بسته را وارد کنید و روی «افزودن بسته» کلیک کنید.
  3. برای نصب یک version خاص، قسمت Dependency Rule را روی یکی از گزینه های مبتنی بر نسخه تنظیم کنید. برای پروژه های جدید، توصیه می کنیم آخرین نسخه را مشخص کنید و از گزینه "نسخه دقیق" استفاده کنید. پس از تکمیل، روی "افزودن بسته" کلیک کنید.

برای به روز رسانی package برای یک پروژه موجود، این مراحل را دنبال کنید:

  1. اگر از نسخه‌ای زودتر از 9.0.0 ارتقا می‌دهید، باید وابستگی‌های زیر را حذف کنید: GoogleMapsBase ، GoogleMapsCore ، و GoogleMapsM4B پس از ارتقا. وابستگی GoogleMaps را حذف نکنید. برای اطلاعات بیشتر، به یادداشت‌های انتشار نسخه 9.0.0 مراجعه کنید.

    از تنظیمات پیکربندی پروژه Xcode خود، Frameworks، Libraries و Embedded Content را پیدا کنید. برای حذف چارچوب زیر از علامت منفی (-) استفاده کنید:

    • GoogleMapsBase (فقط برای ارتقا از نسخه های قبل از 9.0.0)
    • GoogleMapsCore (فقط برای ارتقا از نسخه های قبل از 9.0.0)
    • GoogleMapsM4B (فقط برای ارتقاء نسخه های قبل از 9.0.0)
  2. از Xcode، به "File > Packages > Update To Latest Package Versions" بروید.
  3. برای تأیید نصب خود، به بخش Package Dependencies در Project Navigator بروید تا بسته و نسخه آن را تأیید کنید.

برای حذف Maps SDK موجود برای وابستگی‌های iOS اضافه شده با استفاده از CocoaPods ، این مراحل را دنبال کنید:

  1. فضای کاری Xcode خود را ببندید. ترمینال را باز کنید و دستور زیر را اجرا کنید:
    sudo gem install cocoapods-deintegrate cocoapods-clean 
    pod deintegrate 
    pod cache clean --all
  2. اگر از آنها برای چیزی غیر از CocoaPods استفاده نمی کنید، Podfile ، Podfile.resolved و workspace Xcode را حذف کنید.

برای حذف Maps SDK موجود برای iOS که به صورت دستی نصب شده است، این مراحل را دنبال کنید:
  1. از تنظیمات پیکربندی پروژه Xcode خود، Frameworks، Libraries و Embedded Content را پیدا کنید. برای حذف چارچوب زیر از علامت منفی (-) استفاده کنید:
    • GoogleMaps
    • GoogleMapsBase (فقط برای نصب های زودتر از نسخه 9.2.0)
    • GoogleMapsCore (فقط برای نصب های زودتر از نسخه 9.2.0)
    • GoogleMapsM4B (فقط برای نصب های زودتر از نسخه 9.0.0)
  2. از دایرکتوری سطح بالای پروژه Xcode خود، بسته GoogleMaps را حذف کنید.

نصب دستی

این راهنما نشان می دهد که چگونه XCFrameworks حاوی Maps SDK برای iOS را به صورت دستی به پروژه خود اضافه کنید و تنظیمات ساخت خود را در Xcode پیکربندی کنید. XCFramework یک بسته باینری است که می‌توانید در چندین پلتفرم از جمله ماشین‌هایی که از سیلیکون اپل استفاده می‌کنند استفاده کنید.

  1. فایل های باینری و منبع SDK زیر را دانلود کنید:
  2. برای دسترسی به XCFrameworks و منابع، فایل ها را استخراج کنید.
  3. اگر هنوز پروژه Xcode ندارید، اکنون یکی را ایجاد کرده و آن را در دستگاه محلی خود ذخیره کنید. اگر در توسعه iOS تازه کار هستید:
    1. یک پروژه جدید ایجاد کنید.
    2. iOS > قالب برنامه را انتخاب کنید.
    3. در صفحه گزینه های پروژه:
      1. نام پروژه را وارد کنید.
      2. مقدار فیلد شناسه Bundle را ثبت کنید. می توانید از این مقدار برای محدود کردن کلید API خود در زیر استفاده کنید.
      3. Interface پروژه را روی Storyboard قرار دهید.
      4. زبان را روی Swift یا Objective-C قرار دهید.
  4. تب General را باز کنید. XCFramework زیر را به داخل پروژه خود در بخش Frameworks, Libraries, and Embedded Content بکشید. حتماً Do Not Embed را انتخاب کنید:
    • GoogleMaps.xcframework
  5. GoogleMaps.bundle را از GoogleMapsResources که دانلود کرده‌اید در فهرست سطح بالای پروژه Xcode خود کپی کنید. وقتی از شما خواسته شد، مطمئن شوید که موارد کپی در پوشه گروه مقصد را انتخاب کنید.
  6. پروژه خود را از Project Navigator انتخاب کنید و هدف برنامه خود را انتخاب کنید.
  7. تب Build Phases را برای هدف برنامه خود باز کنید. در لینک باینری با کتابخانه ها ، چارچوب ها و کتابخانه های زیر را اضافه کنید:
    • 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
    • SystemConfiguration.framework
    • UIKit.framework
  8. پروژه خود را به جای یک هدف خاص انتخاب کنید و تب Build Settings را باز کنید. در بخش Linking - General -> Other Linker Flags ، -ObjC به "Debug" و "Release" اضافه کنید. اگر این تنظیمات قابل مشاهده نیستند، فیلتر را در نوار تنظیمات ساخت از Basic به All تغییر دهید.

  9. برای نصب Places SDK برای iOS XCFramework، به شروع کار با Places SDK برای iOS مراجعه کنید.

CocoaPods

Maps SDK برای iOS به عنوان یک CocoaPods در دسترس است. CocoaPods یک مدیر وابستگی منبع باز برای پروژه های Swift و Objective-C Cocoa است.

اگر از قبل ابزار CocoaPods را ندارید، با اجرای دستور زیر از ترمینال، آن را روی macOS نصب کنید. برای جزئیات، به راهنمای شروع به کار CocoaPods مراجعه کنید.

sudo gem install cocoapods

یک Podfile برای Maps SDK برای iOS ایجاد کنید و از آن برای نصب API و وابستگی های آن استفاده کنید:

  1. اگر هنوز پروژه Xcode ندارید، اکنون یکی را ایجاد کرده و آن را در دستگاه محلی خود ذخیره کنید. اگر در توسعه iOS تازه کار هستید:
    1. یک پروژه جدید ایجاد کنید.
    2. iOS > قالب برنامه را انتخاب کنید.
    3. در صفحه گزینه های پروژه:
      1. نام پروژه را وارد کنید.
      2. مقدار فیلد شناسه Bundle را ثبت کنید. می توانید از این مقدار برای محدود کردن کلید API خود در زیر استفاده کنید.
      3. Interface پروژه را روی Storyboard قرار دهید.
      4. زبان را روی Swift یا Objective-C قرار دهید.
  2. یک فایل به نام Podfile در دایرکتوری پروژه خود ایجاد کنید. این فایل وابستگی های پروژه شما را تعریف می کند.
  3. Podfile را ویرایش کنید و وابستگی های خود را به همراه نسخه های آنها اضافه کنید. در اینجا یک مثال است که شامل وابستگی مورد نیاز برای Maps SDK برای iOS است:
    source 'https://github.com/CocoaPods/Specs.git'
    
    platform :ios, '15.0'
    
    target 'YOUR_APPLICATION_TARGET_NAME_HERE' do
      pod 'GoogleMaps', '9.2.0'
    end
    مطمئن شوید که به‌طور مرتب pod outdated را اجرا می‌کنید تا تشخیص دهید که نسخه جدیدتری وجود دارد تا مطمئن شوید که همیشه در آخرین نسخه هستید. در صورت لزوم، به آخرین نسخه ارتقا دهید .
  4. Podfile را ذخیره کنید.
  5. یک ترمینال را باز کنید و به دایرکتوری حاوی Podfile بروید:

    cd <path-to-project>
  6. دستور pod install را اجرا کنید. این API های مشخص شده در Podfile را به همراه وابستگی هایی که ممکن است داشته باشند نصب می کند.

    pod install
  7. Xcode را ببندید و سپس فایل .xcworkspace پروژه خود را باز کنید (دوبار کلیک کنید) تا Xcode راه اندازی شود. از این زمان به بعد باید از فایل .xcworkspace برای باز کردن پروژه استفاده کنید.

برای به روز رسانی API برای یک پروژه موجود، این مراحل را دنبال کنید:

  1. یک ترمینال را باز کنید و به فهرست پروژه حاوی Podfile بروید.
  2. دستور pod update را اجرا کنید. با این کار همه API های مشخص شده در Podfile به آخرین نسخه به روز می شوند.

مرحله 3: کلید API خود را به پروژه اضافه کنید

در دریافت کلید API ، یک کلید API برای برنامه خود ایجاد کردید. اکنون آن کلید را به پروژه Xcode خود اضافه کنید.

در مثال‌های زیر، YOUR_API_KEY با کلید API خود جایگزین کنید.

سویفت

کلید API خود را به صورت زیر به AppDelegate.swift خود اضافه کنید:

  1. عبارت import زیر را اضافه کنید:
    import GoogleMaps
  2. با استفاده از کلید API خود، موارد زیر را به application(_:didFinishLaunchingWithOptions:) خود اضافه کنید:
    GMSServices.provideAPIKey("YOUR_API_KEY")
  3. اگر از Places API نیز استفاده می‌کنید، کلید خود را دوباره همانطور که در اینجا نشان داده شده است اضافه کنید:
    GMSPlacesClient.provideAPIKey("YOUR_API_KEY")

هدف-C

کلید API خود را به صورت زیر به AppDelegate.m خود اضافه کنید:

  1. عبارت import زیر را اضافه کنید:
    @import GoogleMaps;
  2. موارد زیر را با استفاده از کلید API خود به متد application:didFinishLaunchingWithOptions: خود اضافه کنید:
    [GMSServices provideAPIKey:@"YOUR_API_KEY"];
  3. اگر از Places API نیز استفاده می‌کنید، کلید خود را دوباره همانطور که در اینجا نشان داده شده است اضافه کنید:
    [GMSPlacesClient provideAPIKey:@"YOUR_API_KEY"];

مرحله 4 (اختیاری): فایل Apple Privacy Manifest را بررسی کنید

اپل به جزئیات حریم خصوصی برنامه برای برنامه های موجود در فروشگاه App نیاز دارد. برای به‌روزرسانی‌ها و اطلاعات بیشتر، از صفحه جزئیات حریم خصوصی فروشگاه App Apple دیدن کنید.

فایل Apple Privacy Manifest در بسته منابع برای SDK گنجانده شده است. برای تأیید اینکه فایل Manifest Privacy گنجانده شده است و برای بررسی محتوای آن، یک بایگانی از برنامه خود ایجاد کنید و یک گزارش حریم خصوصی از بایگانی ایجاد کنید .

مرحله 5 (اختیاری): طرح های URL مورد استفاده توسط API را اعلام کنید

با شروع iOS 9 و Xcode 7، برنامه‌ها می‌توانند طرح‌های URL را که می‌خواهند باز کنند، با مشخص کردن طرح‌ها در فایل Info.plist برنامه، اعلام کنند. Maps SDK برای iOS برنامه تلفن همراه Google Maps را زمانی که کاربر روی نشان‌واره Google روی نقشه کلیک می‌کند باز می‌کند و بنابراین برنامه شما می‌تواند طرح‌های URL مربوطه را اعلام کند.

برای اعلام طرح‌های URL مورد استفاده توسط Maps SDK برای iOS، خطوط زیر را به Info.plist خود اضافه کنید:

 <key>LSApplicationQueriesSchemes</key>
 <array>
        <string>googlechromes</string>
        <string>comgooglemaps</string>
    </array>

تصویر زیر پیکربندی در رابط کاربری Xcode را نشان می دهد:

پیکربندی `LSApplicationQueriesSchemes` در Xcode

بدون اعلان بالا، هنگام ضربه زدن کاربر روی لوگوی گوگل روی نقشه، خطاهای زیر ممکن است رخ دهد:

  • -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 آموزش ها و نمونه برنامه های زیادی را ارائه می دهد که می تواند به شما در شروع کار کمک کند. برای جزئیات بیشتر، نگاه کنید به: