একটি Xcode প্রকল্প সেট আপ করুন

আপনি বিলিং সক্ষম করার পরে এবং একটি API কী তৈরি করার পরে, আপনি Xcode প্রকল্পটি সেট আপ করতে প্রস্তুত যা আপনি আপনার অ্যাপ বিকাশ করতে ব্যবহার করেন৷

রিলিজ নোট প্রতিটি রিলিজের জন্য উপলব্ধ.

ধাপ 1: প্রয়োজনীয় সফ্টওয়্যার ইনস্টল করুন

iOS এর জন্য Maps SDK ব্যবহার করে একটি প্রকল্প তৈরি করতে, আপনাকে অবশ্যই ডাউনলোড এবং ইনস্টল করতে হবে:

  • Xcode সংস্করণ 14.0 বা তার পরে
  • কোকোপডস

ধাপ 2: Xcode প্রকল্প তৈরি করুন এবং iOS এর জন্য Maps SDK ইনস্টল করুন

কোকোপড ব্যবহার করুন

iOS এর জন্য Maps SDK একটি CocoaPods পড হিসাবে উপলব্ধ। CocoaPods হল সুইফট এবং অবজেক্টিভ-সি কোকো প্রকল্পগুলির জন্য একটি ওপেন সোর্স নির্ভরতা ব্যবস্থাপক।

আপনার যদি ইতিমধ্যেই CocoaPods টুল না থাকে, তাহলে টার্মিনাল থেকে নিম্নলিখিত কমান্ডটি চালিয়ে ম্যাকোসে এটি ইনস্টল করুন। বিস্তারিত জানার জন্য, CocoaPods শুরু করার নির্দেশিকা দেখুন।

sudo gem install cocoapods

iOS এর জন্য Maps SDK-এর জন্য একটি Podfile তৈরি করুন এবং API এবং এর নির্ভরতা ইনস্টল করতে এটি ব্যবহার করুন:

  1. আপনার যদি এখনও একটি Xcode প্রকল্প না থাকে তবে এখনই একটি তৈরি করুন এবং এটি আপনার স্থানীয় মেশিনে সংরক্ষণ করুন। আপনি যদি iOS ডেভেলপমেন্টে নতুন হন:
    1. একটি নতুন প্রকল্প তৈরি করুন।
    2. iOS > অ্যাপ টেমপ্লেট নির্বাচন করুন।
    3. প্রকল্প বিকল্প পর্দায়:
      1. প্রকল্পের নাম লিখুন।
      2. বান্ডেল শনাক্তকারী ক্ষেত্রের মান রেকর্ড করুন। আপনি নীচের আপনার API কী সীমাবদ্ধ করতে সেই মানটি ব্যবহার করতে পারেন।
      3. স্টোরিবোর্ডে প্রকল্প ইন্টারফেস সেট করুন।
      4. ভাষাটিকে সুইফট বা অবজেক্টিভ-সি- তে সেট করুন।
  2. আপনার প্রকল্প ডিরেক্টরিতে Podfile নামে একটি ফাইল তৈরি করুন। এই ফাইলটি আপনার প্রকল্পের নির্ভরতা সংজ্ঞায়িত করে।
  3. Podfile সম্পাদনা করুন এবং তাদের সংস্করণ সহ আপনার নির্ভরতা যোগ করুন। iOS-এর জন্য Maps SDK-এর জন্য আপনার প্রয়োজনীয় নির্ভরতা এখানে একটি উদাহরণ রয়েছে:
    source 'https://github.com/CocoaPods/Specs.git'
    
    platform :ios, '14.0'
    
    target 'YOUR_APPLICATION_TARGET_NAME_HERE' do
      pod 'GoogleMaps', '8.2.0'
    end
    
    আপনি সর্বদা সর্বশেষে আছেন তা নিশ্চিত করার জন্য একটি নতুন সংস্করণ আছে তা সনাক্ত করতে নিয়মিতভাবে pod outdated চালানো নিশ্চিত করুন৷ প্রয়োজনে সর্বশেষ সংস্করণে আপগ্রেড করুন
  4. Podfile সংরক্ষণ করুন।
  5. একটি টার্মিনাল খুলুন এবং Podfile ধারণকারী ডিরেক্টরিতে যান:

    cd <path-to-project>
  6. pod install কমান্ড চালান। এটি Podfile এ নির্দিষ্ট করা APIগুলিকে ইনস্টল করবে, সাথে তাদের যে কোনো নির্ভরতা থাকতে পারে।

    pod install
  7. Xcode বন্ধ করুন, এবং তারপর Xcode চালু করতে আপনার প্রকল্পের .xcworkspace ফাইল খুলুন (ডাবল-ক্লিক করুন)। এই সময় থেকে, আপনাকে প্রকল্পটি খুলতে .xcworkspace ফাইলটি ব্যবহার করতে হবে।

একটি বিদ্যমান প্রকল্পের জন্য API আপডেট করতে, এই পদক্ষেপগুলি অনুসরণ করুন:

  1. একটি টার্মিনাল খুলুন এবং Podfile ধারণকারী প্রকল্প ডিরেক্টরিতে যান।
  2. pod update কমান্ড চালান। এটি Podfile এ উল্লিখিত সমস্ত API সর্বশেষ সংস্করণে আপডেট করবে।

XCFramework ইনস্টল করুন

একটি XCFramework হল একটি বাইনারি প্যাকেজ যা আপনি iOS-এর জন্য Maps SDK ইনস্টল করতে M1 চিপসেট ব্যবহার করা মেশিন সহ একাধিক প্ল্যাটফর্মে ব্যবহার করতে পারেন। এই গাইডটি দেখায় কিভাবে আপনার প্রোজেক্টে iOS এর জন্য Maps SDK ধারণকারী XCFramework যোগ করতে হয় এবং Xcode-এ আপনার বিল্ড সেটিংস কনফিগার করতে হয়।

ম্যানুয়ালি

এই নির্দেশিকাটি দেখায় কিভাবে ম্যানুয়ালি আপনার প্রোজেক্টে iOS এর জন্য Maps SDK যোগ করবেন এবং Xcode-এ আপনার বিল্ড সেটিংস কনফিগার করবেন।

  1. SDK সোর্স ফাইল ডাউনলোড করুন: GoogleMaps-8.2.0
  2. উৎস ফাইল আনপ্যাক. XCFramework অ্যাক্সেস করতে ফ্রেমওয়ার্ক ফোল্ডারে নেভিগেট করুন।
  3. আপনার যদি এখনও একটি Xcode প্রকল্প না থাকে তবে এখনই একটি তৈরি করুন এবং এটি আপনার স্থানীয় মেশিনে সংরক্ষণ করুন। আপনি যদি iOS ডেভেলপমেন্টে নতুন হন:
    1. একটি নতুন প্রকল্প তৈরি করুন।
    2. iOS > অ্যাপ টেমপ্লেট নির্বাচন করুন।
    3. প্রকল্প বিকল্প পর্দায়:
      1. প্রকল্পের নাম লিখুন।
      2. বান্ডেল শনাক্তকারী ক্ষেত্রের মান রেকর্ড করুন। আপনি নীচের আপনার API কী সীমাবদ্ধ করতে সেই মানটি ব্যবহার করতে পারেন।
      3. স্টোরিবোর্ডে প্রকল্প ইন্টারফেস সেট করুন।
      4. ভাষাটিকে সুইফট বা অবজেক্টিভ-সি- তে সেট করুন।
  4. ফ্রেমওয়ার্ক, লাইব্রেরি, এবং এমবেডেড কন্টেন্টের অধীনে আপনার প্রোজেক্টে নিম্নলিখিত XCFrameworks টেনে আনুন। প্রতিটি XCFramework এর জন্য এম্বেড করবেন না নির্বাচন নিশ্চিত করুন:
    • GoogleMaps-xxx/GoogleMapsBase.xcframework
    • GoogleMaps-xxx/GoogleMaps.xcframework
    • GoogleMaps-xxx/GoogleMapsCore.xcframework
    • (শুধুমাত্র প্রিমিয়াম প্ল্যান গ্রাহকদের জন্য) GoogleMaps-xxx/GoogleMapsM4B.xcframework
  5. আপনার প্রোজেক্টে GoogleMaps.xcframework রাইট-ক্লিক করুন, এবং Show In Finder নির্বাচন করুন।
  6. ios-arm64_x86_64-simulator/GoogleMaps.framework/Resources ফোল্ডার থেকে আপনার Xcode প্রকল্পের শীর্ষ স্তরের ডিরেক্টরিতে GoogleMaps.bundle টেনে আনুন৷ প্রম্পট করা হলে, নিশ্চিত করুন আইটেম অনুলিপি করুন যদি প্রয়োজন হয় নির্বাচন না করা হয়।
  7. প্রজেক্ট নেভিগেটর থেকে আপনার প্রজেক্ট সিলেক্ট করুন এবং আপনার অ্যাপ্লিকেশনের টার্গেট বেছে নিন।
  8. আপনার অ্যাপ্লিকেশনের টার্গেটের জন্য বিল্ড ফেজ ট্যাবটি খুলুন এবং লাইব্রেরির সাথে লিঙ্ক বাইনারি এর মধ্যে, এবং নিম্নলিখিত ফ্রেমওয়ার্ক এবং লাইব্রেরি যোগ করুন:
    • 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
  9. একটি নির্দিষ্ট লক্ষ্যের পরিবর্তে আপনার প্রকল্পটি বেছে নিন এবং বিল্ড সেটিংস ট্যাবটি খুলুন। অন্যান্য লিঙ্কার পতাকা বিভাগে, -ObjC যোগ করুন। যদি এই সেটিংসগুলি দৃশ্যমান না হয়, তবে বিল্ড সেটিংস বারে ফিল্টারটি বেসিক থেকে সকলে পরিবর্তন করুন৷

  10. iOS XCFramework-এর জন্য Places SDK ইনস্টল করতে, iOS-এর জন্য Places SDK দিয়ে শুরু করুন দেখুন।

কার্থেজের সাথে

ম্যানুয়ালি ইনস্টল করুন

এই নির্দেশিকাটি দেখায় কিভাবে ম্যানুয়ালি আপনার প্রোজেক্টে iOS এর জন্য Maps SDK যোগ করবেন এবং Xcode-এ আপনার বিল্ড সেটিংস কনফিগার করবেন।

  1. SDK সোর্স ফাইল ডাউনলোড করুন: GoogleMaps-8.2.0
  2. উৎস ফাইল আনপ্যাক.
  3. আপনার যদি এখনও একটি Xcode প্রকল্প না থাকে তবে এখনই একটি তৈরি করুন এবং এটি আপনার স্থানীয় মেশিনে সংরক্ষণ করুন। আপনি যদি iOS ডেভেলপমেন্টে নতুন হন:
    1. একটি নতুন প্রকল্প তৈরি করুন।
    2. iOS > অ্যাপ টেমপ্লেট নির্বাচন করুন।
    3. প্রকল্প বিকল্প পর্দায়:
      1. প্রকল্পের নাম লিখুন।
      2. বান্ডেল শনাক্তকারী ক্ষেত্রের মান রেকর্ড করুন। আপনি নীচের আপনার API কী সীমাবদ্ধ করতে সেই মানটি ব্যবহার করতে পারেন।
      3. স্টোরিবোর্ডে প্রকল্প ইন্টারফেস সেট করুন।
      4. ভাষাটিকে সুইফট বা অবজেক্টিভ-সি- তে সেট করুন।
  4. আপনার প্রকল্পে নিম্নলিখিত বান্ডিলগুলি টেনে আনুন: (যখন অনুরোধ করা হয়, প্রয়োজনে অনুলিপি আইটেম নির্বাচন করুন, অনুগ্রহ করে উপরের মত একই সংস্করণ ব্যবহার করুন। )
    • GoogleMaps-xxx/Base/Frameworks/GoogleMapsBase.xcframework
    • GoogleMaps-xxx/Maps/Frameworks/GoogleMaps.xcframework
    • GoogleMaps-xxx/Maps/Frameworks/GoogleMapsCore.xcframework
    • (শুধুমাত্র প্রিমিয়াম প্ল্যান গ্রাহকদের জন্য) GoogleMaps-xxx/M4B/Frameworks/GoogleMapsM4B.xcframework
  5. আপনার প্রোজেক্টে GoogleMaps.xcframework রাইট-ক্লিক করুন, এবং Show In Finder নির্বাচন করুন।
  6. আপনার Xcode প্রকল্পের শীর্ষ স্তরের ডিরেক্টরিতে Resources ফোল্ডার থেকে GoogleMaps.bundle টেনে আনুন। যখন অনুরোধ করা হয়, নিশ্চিত করুন যে আইটেমগুলি গন্তব্য গোষ্ঠীর ফোল্ডারে অনুলিপি করুন নির্বাচন করা হয়নি
  7. প্রজেক্ট নেভিগেটর থেকে আপনার প্রজেক্ট সিলেক্ট করুন এবং আপনার অ্যাপ্লিকেশনের টার্গেট বেছে নিন।
  8. আপনার অ্যাপ্লিকেশনের লক্ষ্যের জন্য বিল্ড ফেজ ট্যাবটি খুলুন এবং লাইব্রেরিগুলির সাথে লিঙ্ক বাইনারি- এর মধ্যে, নিম্নলিখিত কাঠামো এবং লাইব্রেরিগুলি যুক্ত করুন:
    • 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
  9. একটি নির্দিষ্ট লক্ষ্যের পরিবর্তে আপনার প্রকল্পটি বেছে নিন এবং বিল্ড সেটিংস ট্যাবটি খুলুন। অন্যান্য লিঙ্কার পতাকা বিভাগে, -ObjC যোগ করুন। যদি এই সেটিংসগুলি দৃশ্যমান না হয়, তবে বিল্ড সেটিংস বারে ফিল্টারটি বেসিক থেকে সকলে পরিবর্তন করুন৷

  10. iOS-এর জন্য Places SDK ইনস্টল করতে, iOS-এর জন্য Places SDK দিয়ে শুরু করুন দেখুন।

ধাপ 3: প্রকল্পে আপনার API কী যোগ করুন

একটি API কী পান , আপনি আপনার অ্যাপের জন্য একটি API কী তৈরি করেছেন৷ এখন আপনার Xcode প্রকল্পে সেই কী যোগ করুন।

নিম্নলিখিত উদাহরণগুলিতে, আপনার API কী দিয়ে YOUR_API_KEY প্রতিস্থাপন করুন।

সুইফট

নিম্নরূপ আপনার AppDelegate.swift এ আপনার API কী যোগ করুন:

  1. নিম্নলিখিত আমদানি বিবৃতি যোগ করুন:
    import GoogleMaps
  2. আপনার API কী ব্যবহার করে আপনার application(_:didFinishLaunchingWithOptions:) পদ্ধতিতে নিম্নলিখিত যোগ করুন:
    GMSServices.provideAPIKey("YOUR_API_KEY")
  3. আপনি যদি Places API ব্যবহার করেন, তাহলে এখানে দেখানো হিসাবে আপনার কী আবার যোগ করুন:
    GMSPlacesClient.provideAPIKey("YOUR_API_KEY")

উদ্দেশ্য গ

নিম্নরূপ আপনার AppDelegate.m এ আপনার API কী যোগ করুন:

  1. নিম্নলিখিত আমদানি বিবৃতি যোগ করুন:
    @import GoogleMaps;
  2. আপনার application:didFinishLaunchingWithOptions: পদ্ধতি, আপনার API কী ব্যবহার করে:
    [GMSServices provideAPIKey:@"YOUR_API_KEY"];
  3. আপনি যদি Places API ব্যবহার করেন, তাহলে এখানে দেখানো হিসাবে আপনার কী আবার যোগ করুন:
    [GMSPlacesClient provideAPIKey:@"YOUR_API_KEY"];

ধাপ 4 (ঐচ্ছিক): মেটাল রেন্ডারিং ফ্রেমওয়ার্ক ব্যবহার করতে অপ্ট-ইন করুন

iOS এর জন্য Maps SDK আপনাকে Apple থেকে মেটাল রেন্ডারিং ফ্রেমওয়ার্ক ব্যবহার করতে অপ্ট-ইন করতে দেয়৷ আপনার অ্যাপে মেটাল রেন্ডারার ব্যবহার করে দেখতে, কোনো মানচিত্র দৃশ্য তৈরি করার আগে অবজেক্টিভ-সি-তে [GMSServices setMetalRendererEnabled:YES] বা Swift-এ GMSServices.setMetalRendererEnabled(true) কল করুন।

আপনি যদি ম্যানুয়ালি SDK ইনস্টল করেন , তাহলে আপনাকে অবশ্যই Xcode-এ Metal.framework যোগ করা নিশ্চিত করতে হবে।

ধাপ 5: একটি মানচিত্র যোগ করুন

নীচের কোডটি দেখায় কিভাবে একটি বিদ্যমান ViewController একটি সাধারণ মানচিত্র যুক্ত করতে হয়:

  1. আপনার অ্যাপের ডিফল্ট ViewController GMSMapView এর একটি উদাহরণ তৈরি এবং শুরু করতে পদ্ধতিগুলি যোগ করুন বা আপডেট করুন।

    সুইফট

    /*
     * 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 camera = GMSCameraPosition.camera(withLatitude: -33.86, longitude: 151.20, zoom: 6.0)
            let mapView = GMSMapView.map(withFrame: self.view.frame, camera: camera)
            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
      }
    }
    
          

    উদ্দেশ্য গ

    /*
    * 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.
      GMSCameraPosition *camera = [GMSCameraPosition cameraWithLatitude:-33.86
                                                              longitude:151.20
                                                                   zoom:6];
      GMSMapView *mapView = [GMSMapView mapWithFrame:self.view.frame camera:camera];
      mapView.myLocationEnabled = YES;
      [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
    
          
  2. আপনার আবেদন চালান. আপনার সিডনি, অস্ট্রেলিয়াকে কেন্দ্র করে একটি একক মার্কার সহ একটি মানচিত্র দেখতে হবে। আপনি যদি মার্কারটি দেখতে পান, কিন্তু মানচিত্রটি দৃশ্যমান না হয়, তাহলে নিশ্চিত করুন যে আপনি আপনার API কী প্রদান করেছেন।

ধাপ 6 (ঐচ্ছিক): API দ্বারা ব্যবহৃত URL স্কিমগুলি ঘোষণা করুন৷

iOS 9 এবং Xcode 7 দিয়ে শুরু করে, অ্যাপের Info.plist ফাইলে স্কিমগুলি নির্দিষ্ট করে অ্যাপগুলি যে URL স্কিমগুলি খুলতে চায় তা ঘোষণা করতে পারে৷ ব্যবহারকারী যখন মানচিত্রে Google লোগোতে ক্লিক করেন তখন iOS এর জন্য Maps SDK Google Maps মোবাইল অ্যাপটি খোলে এবং আপনার অ্যাপ তাই প্রাসঙ্গিক URL স্কিম ঘোষণা করতে পারে।

iOS এর জন্য Maps SDK দ্বারা ব্যবহৃত URL স্কিমগুলি ঘোষণা করতে, আপনার Info.plist এ নিম্নলিখিত লাইনগুলি যোগ করুন:

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

নিম্নলিখিত স্ক্রিনশটটি Xcode ব্যবহারকারী ইন্টারফেসে কনফিগারেশন দেখায়:

Xcode-এ LSAapplicationQueriesSchemes কনফিগারেশন

উপরের ঘোষণা ছাড়া, ব্যবহারকারী ম্যাপে Google লোগোতে ট্যাপ করলে নিম্নলিখিত ত্রুটি ঘটতে পারে:

-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 প্রকল্প রয়েছে, আপনি অ্যাপগুলি তৈরি করতে এবং চালাতে পারেন৷ iOS এর জন্য Maps SDK অনেক টিউটোরিয়াল এবং নমুনা অ্যাপ প্রদান করে যা আপনাকে শুরু করতে সাহায্য করতে পারে। আরো বিস্তারিত জানার জন্য, দেখুন: