מדריך למתחילים בנושא גיאו-מרחבי ב-iOS

המדריך למתחילים הזה של ARCore Geospatial API מראה איך להריץ אפליקציה לדוגמה ב-Xcode שמדגים את Geospatial API.

למפתחים שרוצים לפתח אפליקציה משלהם באמצעות Geospatial API, מומלץ לעיין במדריך למפתחים של Geospatial ל-iOS.

לצפייה מידע נוסף מבוא ל-ARCore Geospatial API מידע על ה-API הגיאו-מרחבי.

אם זו הפעם הראשונה שאתם מפתחים עם ARCore, ראו תחילת העבודה.

דרישות מוקדמות

  • Xcode גרסה 13.0 ואילך
  • Cocoapods 1.4.0 ואילך אם משתמשים ב-Cocoapods
  • מכשיר Apple תואם ARKit שפועלת בו מערכת iOS 12.0 ואילך (נדרש יעד פריסה של iOS 12.0 ואילך)

הגדרת האפליקציה לדוגמה

הפרויקט GeospatialExample שכלול ב-ARCore SDK ל-iOS מתארת את הקוד שקורא ל-Geospatial API.

  1. משכפלים או מורידים את ARCore SDK ל-iOS מ-GitHub כדי לקבל את קוד האפליקציה לדוגמה.

  2. פותחים חלון Terminal או Finder ועוברים לתיקייה שבה קלונתם או הורדתם את ה-SDK.

  3. עוברים לתיקייה arcore-ios-sdk-master/Examples.

  4. פותחים את התיקייה Examples, בוחרים את התיקייה GeospatialExample ואז לוחצים על פתיחה.

הגדרת פרויקט ב-Google Cloud

לפני שמשתמשים במערכת למיקום חזותי (VPS) באפליקציה, צריך להפעיל את ARCore API בפרויקט חדש או קיים ב-Google Cloud. למרות שה-API הגיאו-מרחבי עובד עם בהרשאה באמצעות מפתח ללא מפתח וגם באמצעות מפתח API. במדריך הזה למתחילים משתמשים ב-API שיטת המפתח.

הגדרת הרשאה

כדי לשלוח קריאות לממשקי 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 הנחוצות. כדי להתקין את יחסי התלות האלה, פותחים חלון Terminal ומריצים את pod install מהתיקייה שבה נמצא פרויקט Xcode.

הפעולה הזו תיצור קובץ .xcworkspace שישמש אתכם מאוחר יותר כדי ליצור ולהריץ את אפליקציה.

יצירה והפעלה של אפליקציה לדוגמה

  1. ב-Xcode, בוחרים את קובץ סביבת העבודה GeospatialExample ולוחצים על חתימה ו יכולות.

  2. מסמנים את התיבה ניהול אוטומטי של החתימה.

  3. בשדה Team, מזינים את שם הצוות.

    אפשר להשתמש במזהה החבילה שמוגדר כברירת מחדל כדי להריץ את האפליקציה מ-Xcode, אבל צריך לשנות אותו אם אתם משתמשים ב- GeospatialExample (דוגמה) בסביבת הייצור.

  4. מחברים את המכשיר כדי להריץ את האפליקציה לדוגמה.

  5. בונים ומפעילים את האפליקציה GeospatialExample מהקובץ .xcworkspace כדי להפעיל אותו במכשיר.

    כדי להימנע משגיאות build, חשוב לוודא שהפיתוח הוא מ.xcworkspace ולא את הקובץ .xcodeproj.

אמורה להופיע תצוגת מצלמה ומידע על תוצאות ניפוי הבאגים שמתאר את הטרנספורמציה הגאו-מרחבית הנוכחית של המכשיר. בזמן שסורקים את הסביבה שימו לב שערכי המהימנות של דיוק המיקום עשויים להשתנות אם אתם נמצאים באזור שנתמך על ידי הלוקליזציה של VPS.

כש-ARCore בטוח במיקום ובכותרת של המכשיר, תוכלו להציב עוגן במיקום הנוכחי באמצעות טרנספורמציה גיאו-מרחבית.

אם המידע על 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. משנים את הערכים האלה לפי הצורך. ככל שהערך גבוה יותר, כך רמת הדיוק נמוכה יותר.

    הורדת רמת הדיוק מאפשרת לאפליקציה להציב עוגן גדול יותר בקו הרוחב. צפייה התאמה כדי לשפר את הדיוק של הטרנספורמציה אפשר לקבל מידע נוסף.

השלבים הבאים

כדאי לקרוא את מדריך למפתחים גיאו-מרחביים ל-iOS ולהתחיל לפתח עם ה-Geospatial API.