شروع سریع جغرافیایی برای iOS

این شروع سریع برای ARCore Geospatial API به شما نشان می دهد که چگونه یک برنامه نمونه را در Xcode اجرا کنید که API Geospatial را نشان می دهد.

برای راهنمایی برای توسعه برنامه خود با Geospatial API، به راهنمای توسعه‌دهنده Geospatial برای iOS مراجعه کنید.

برای اطلاعات بیشتر در مورد Geospatial API به مقدمه ARCore Geospatial API مراجعه کنید.

اگر برای توسعه با ARCore تازه کار هستید، به شروع به کار مراجعه کنید.

پیش نیازها

  • Xcode نسخه 13.0 یا بالاتر
  • Cocoapods 1.4.0 یا بالاتر در صورت استفاده از Cocoapod
  • یک دستگاه اپل سازگار با ARKit دارای iOS 12.0 یا بالاتر (هدف استقرار iOS 12.0 یا جدیدتر مورد نیاز است)

برنامه نمونه را راه اندازی کنید

پروژه GeospatialExample همراه با ARCore SDK برای iOS کدی را توصیف می‌کند که Geospatial API را فراخوانی می‌کند.

  1. برای دریافت نمونه کد برنامه ، ARCore SDK برای iOS را از GitHub کلون یا دانلود کنید.

  2. یک پنجره ترمینال یا Finder را باز کنید و به پوشه ای بروید که در آن SDK را شبیه سازی یا دانلود کرده اید.

  3. به پوشه arcore-ios-sdk-master/Examples بروید.

  4. پوشه Examples را باز کنید، پوشه GeospatialExample را انتخاب کنید و روی Open کلیک کنید.

یک پروژه Google Cloud راه اندازی کنید

قبل از استفاده از Visual Positioning System (VPS) در برنامه خود، ابتدا باید ARCore API را در پروژه Google Cloud جدید یا موجود فعال کنید. اگرچه Geospatial API با مجوز Keyless و API Key کار می کند، برای این راهنمای شروع سریع، از روش API Key استفاده کنید.

مجوز را تنظیم کنید

برای برقراری تماس‌های Geospatial API به VPS، برنامه نمونه نیاز به مجوز دارد و ممکن است از یک کلید API نامحدود استفاده کند. اگر از یک کلید API محدود استفاده می کنید، باید شناسه بسته ای را نیز برای مرتبط کردن با کلید API ارائه دهید.

  1. در XCode، در برنامه نمونه GeospatialExample ، فایل ViewController.m را باز کرده و your-api-key را جستجو کنید.

  2. کلید API خود را به GARSession اضافه کنید: کلید API را که از مرحله قبل کپی کرده‌اید روی متن قرار دهید، your-api-key (نقل‌ها را رها کنید)، مانند شکل:

    self.garSession = [GARSession sessionWithAPIKey:@"your-api-key"
                                   bundleIdentifier:nil
                                              error:&error];
    

ARCore SDK را تنظیم کنید

برنامه GeospatialExample با یک Podfile از پیش پیکربندی شده با نسخه‌های ARCore SDK و iOS که شما نیاز دارید ارسال می‌شود. برای نصب این وابستگی ها، پنجره ترمینال را باز کنید و pod install از پوشه ای که پروژه Xcode وجود دارد اجرا کنید.

این یک فایل .xcworkspace ایجاد می کند که بعداً برای ساخت و اجرای برنامه از آن استفاده خواهید کرد.

برنامه نمونه را بسازید و اجرا کنید

  1. در Xcode، فایل فضای کاری GeospatialExample را انتخاب کنید و روی Signing & Capabilities کلیک کنید.

  2. کادر، مدیریت خودکار امضا را علامت بزنید.

  3. در قسمت Team نام تیم را وارد کنید.

    می‌توانید از شناسه پیش‌فرض Bundle برای اجرای برنامه از Xcode استفاده کنید، اما اگر از GeospatialExample به‌عنوان خرد برای برنامه خود در حال تولید استفاده می‌کنید، باید آن را تغییر دهید.

  4. دستگاه خود را برای اجرای برنامه نمونه وصل کنید.

  5. برنامه GeospatialExample را از فایل .xcworkspace بسازید و اجرا کنید تا آن را در دستگاه خود راه اندازی کنید.

    برای جلوگیری از خطاهای ساخت، مطمئن شوید که از فایل .xcworkspace می سازید و نه فایل .xcodeproj .

شما باید بتوانید نمای دوربین را همراه با اطلاعات اشکال زدایی که تغییر مکانی فعلی دستگاه شما را توصیف می کند، مشاهده کنید. همانطور که محیط اطراف خود را اسکن می کنید، اگر در منطقه ای هستید که توسط محلی سازی VPS پشتیبانی می شود، توجه کنید که مقادیر اطمینان دقت موقعیت یابی ممکن است با حرکت در اطراف تغییر کند.

هنگامی که ARCore به مکان و عنوان دستگاه شما اطمینان دارد، می توانید با استفاده از تبدیل Geospatial یک Anchor را در مکان فعلی خود قرار دهید.

اگر اطلاعات VPS در دسترس نباشد، ممکن است دقت موقعیت یابی بسیار پایین باشد. برنامه باید به اینترنت متصل باشد و مکان آن باید برای VPS مشخص باشد. برای بهترین نتایج، برنامه نمونه را در ساعات روشنایی روز در بیرون (نه داخل خانه) اجرا کنید.

همچنین، اگر در منطقه‌ای هستید که از VPS پشتیبانی نمی‌کند، یا اگر سیگنال‌های GPS کافی نیستند، ممکن است لازم باشد آستانه‌های اطمینان را در برنامه تنظیم کنید تا یک لنگر قرار دهید.

برای تنظیم آستانه ها:

  1. در Xcode، فایل ViewController.m را باز کنید و به بخش زیر بروید:

    // Thresholds for 'good enough' accuracy. These can be tuned for the
    // application. We use both 'low'
    // and 'high' values here to avoid flickering state changes.
    static const CLLocationAccuracy kHorizontalAccuracyLowThreshold = 10;
    static const CLLocationAccuracy kHorizontalAccuracyHighThreshold = 20;
    static const CLLocationDirectionAccuracy kHeadingAccuracyLowThreshold = 15;
    static const CLLocationDirectionAccuracy kHeadingAccuracyHighThreshold = 25;
    
  2. در صورت نیاز این مقادیر را تنظیم کنید. هر چه مقدار بالاتر باشد، دقت کمتری دارد .

    کاهش دقت به برنامه اجازه می دهد تا عرض جغرافیایی بیشتری در قرار دادن لنگر داشته باشد. برای اطلاعات بیشتر به تنظیم برای دقت تبدیل مراجعه کنید.

مراحل بعدی

راهنمای توسعه‌دهنده Geospatial برای iOS را مرور کنید و با Geospatial API شروع به ساخت کنید.