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

বিলিং চালু করে এপিআই কী তৈরি করার পর, আপনি আপনার অ্যাপ ডেভেলপ করার জন্য ব্যবহৃত এক্সকোড প্রজেক্টটি সেট আপ করতে প্রস্তুত।

প্রতিটি রিলিজের জন্য রিলিজ নোট পাওয়া যায়।

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

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

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

এসডিকে ইনস্টল করার সাইজ ভিন্ন হতে পারে। উদাহরণস্বরূপ, আইওএস-এর জন্য ম্যাপস এসডিকে সংস্করণ ৯.০-এর ইনস্টল সাইজ প্রায় ১৮ এমবি।

সুইফট প্যাকেজ ম্যানেজার

Swift Package Manager-এর মাধ্যমে Maps SDK for iOS ইনস্টল করা যায়। SDK-টি যোগ করার জন্য, নিশ্চিত করুন যে আপনি Maps SDK for iOS-এর বিদ্যমান সমস্ত ডিপেন্ডেন্সি সরিয়ে ফেলেছেন।

নতুন বা বিদ্যমান প্রকল্পে SDK যোগ করতে, এই ধাপগুলো অনুসরণ করুন:

  1. আপনার Xcode project বা workspace খুলুন, তারপর File > Add Package Dependencies- এ যান।
  2. URL হিসেবে https://github.com/googlemaps/ios-maps-sdk লিখুন, প্যাকেজটি যুক্ত করতে এন্টার চাপুন এবং 'Add Package'-এ ক্লিক করুন।
  3. একটি নির্দিষ্ট version ইনস্টল করতে, ' ডিপেন্ডেন্সি রুল' ফিল্ডটিকে সংস্করণ-ভিত্তিক বিকল্পগুলির মধ্যে একটিতে সেট করুন। নতুন প্রোজেক্টের জন্য, আমরা সর্বশেষ সংস্করণটি নির্দিষ্ট করার এবং 'এক্সাক্ট ভার্সন' বিকল্পটি ব্যবহার করার পরামর্শ দিই। এটি সম্পন্ন হলে, 'অ্যাড প্যাকেজ'-এ ক্লিক করুন।

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

  1. আপনি যদি 9.0.0-এর আগের কোনো সংস্করণ থেকে আপগ্রেড করেন, তাহলে আপগ্রেড করার পরে আপনাকে অবশ্যই নিম্নলিখিত ডিপেন্ডেন্সিগুলি রিমুভ করতে হবে: GoogleMapsBase , GoogleMapsCore , এবং GoogleMapsM4BGoogleMaps এর ডিপেন্ডেন্সি রিমুভ করবেন না। আরও তথ্যের জন্য, সংস্করণ 9.0.0 রিলিজ নোট দেখুন।

    আপনার Xcode প্রোজেক্টের কনফিগারেশন সেটিংস থেকে Frameworks, Libraries, and Embedded Content খুঁজুন। নিম্নলিখিত ফ্রেমওয়ার্কটি অপসারণ করতে মাইনাস চিহ্ন (-) ব্যবহার করুন:

    • GoogleMapsBase (শুধুমাত্র 9.0.0-এর পূর্ববর্তী সংস্করণ থেকে আপগ্রেডের জন্য)
    • GoogleMapsCore (শুধুমাত্র ৯.০.০-এর পূর্ববর্তী সংস্করণ থেকে আপগ্রেডের জন্য)
    • GoogleMapsM4B (শুধুমাত্র 9.0.0-এর পূর্ববর্তী সংস্করণ থেকে আপগ্রেডের জন্য)
  2. Xcode থেকে, 'File > Packages > Update To Latest Package Versions'-এ যান।
  3. আপনার ইনস্টলেশন যাচাই করতে, প্রজেক্ট নেভিগেটরের প্যাকেজ ডিপেন্ডেন্সি বিভাগে গিয়ে প্যাকেজ এবং এর সংস্করণটি যাচাই করুন।

CocoaPods ব্যবহার করে যোগ করা বিদ্যমান Maps SDK for iOS ডিপেন্ডেন্সিগুলো অপসারণ করতে, এই ধাপগুলো অনুসরণ করুন:

  1. আপনার Xcode ওয়ার্কস্পেসটি বন্ধ করুন। টার্মিনাল খুলুন এবং নিম্নলিখিত কমান্ডটি চালান:
    sudo gem install cocoapods-deintegrate cocoapods-clean
    pod deintegrate
    pod cache clean --all
  2. CocoaPods ছাড়া অন্য কোনো কাজে ব্যবহার না করলে Podfile , Podfile.resolved এবং Xcode workspace মুছে ফেলুন।
ম্যানুয়ালি ইনস্টল করা iOS-এর জন্য বিদ্যমান Maps SDK অপসারণ করতে, এই ধাপগুলো অনুসরণ করুন:
  1. আপনার Xcode প্রোজেক্টের কনফিগারেশন সেটিংস থেকে Frameworks, Libraries, and Embedded Content খুঁজুন। নিম্নলিখিত ফ্রেমওয়ার্কটি অপসারণ করতে মাইনাস চিহ্ন (-) ব্যবহার করুন:
    • GoogleMaps
    • GoogleMapsBase (শুধুমাত্র সংস্করণ ৯.২.০-এর পূর্ববর্তী ইনস্টলেশনগুলির জন্য)
    • GoogleMapsCore (শুধুমাত্র সংস্করণ ৯.২.০-এর পূর্ববর্তী ইনস্টলেশনগুলোর জন্য)
    • GoogleMapsM4B (শুধুমাত্র সংস্করণ 9.0.0-এর পূর্ববর্তী ইনস্টলেশনগুলির জন্য)
  2. আপনার Xcode প্রজেক্টের শীর্ষ ডিরেক্টরি থেকে GoogleMaps বান্ডেলটি সরিয়ে ফেলুন।

ম্যানুয়াল ইনস্টলেশন

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

  1. নিম্নলিখিত SDK বাইনারি এবং রিসোর্স ফাইলগুলি ডাউনলোড করুন:
  2. XCFrameworks এবং রিসোর্সগুলো অ্যাক্সেস করতে ফাইলগুলো এক্সট্র্যাক্ট করুন।
  3. আপনার যদি এখনও কোনো Xcode প্রজেক্ট না থাকে, তাহলে এখনই একটি তৈরি করে আপনার লোকাল মেশিনে সেভ করুন। আপনি যদি iOS ডেভেলপমেন্টে নতুন হন:
    1. একটি নতুন প্রকল্প তৈরি করুন।
    2. iOS > অ্যাপ টেমপ্লেট নির্বাচন করুন।
    3. প্রজেক্ট অপশন স্ক্রিনে:
      1. প্রকল্পের নাম লিখুন।
      2. বান্ডেল আইডেন্টিফায়ার ফিল্ডের মানটি রেকর্ড করুন। আপনি নিচে আপনার এপিআই কী সীমাবদ্ধ করতে সেই মানটি ব্যবহার করতে পারেন।
      3. প্রজেক্ট ইন্টারফেসটি স্টোরিবোর্ডে সেট করুন।
      4. ভাষাটি সুইফট অথবা অবজেক্টিভ-সি- তে সেট করুন।
  4. জেনারেল ট্যাবটি খুলুন। নিম্নলিখিত XCFrameworks-টি আপনার প্রোজেক্টের Frameworks, Libraries, and Embedded Content-এর অধীনে ড্র্যাগ করে আনুন। Do Not Embed সিলেক্ট করতে ভুলবেন না।
    • GoogleMaps.xcframework
  5. আপনার ডাউনলোড করা GoogleMapsResources থেকে GoogleMaps.bundle ফাইলটি আপনার Xcode প্রোজেক্টের টপ লেভেল ডিরেক্টরিতে কপি করুন। প্রম্পট করা হলে, অবশ্যই ‘Copy items into destination group's folder’ অপশনটি সিলেক্ট করুন।
  6. প্রজেক্ট নেভিগেটর থেকে আপনার প্রজেক্টটি নির্বাচন করুন এবং আপনার অ্যাপ্লিকেশনের লক্ষ্য বেছে নিন।
  7. আপনার অ্যাপ্লিকেশনের টার্গেটের জন্য Build Phases ট্যাবটি খুলুন। Link Binary with Libraries- এর মধ্যে, নিম্নলিখিত ফ্রেমওয়ার্ক এবং লাইব্রেরিগুলো যোগ করুন:
    • 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
    • MetricKit.framework
    • OpenGLES.framework (শুধুমাত্র যদি আপনি OpenGL ব্যবহার করেন)
    • QuartzCore.framework
    • Security.framework
    • SystemConfiguration.framework
    • UIKit.framework
  8. কোনো নির্দিষ্ট টার্গেটের পরিবর্তে আপনার প্রজেক্টটি বেছে নিন এবং বিল্ড সেটিংস ট্যাবটি খুলুন। লিঙ্কিং - জেনারেল -> আদার লিঙ্কার ফ্ল্যাগস সেকশনে, "ডিবাগ" এবং "রিলিজ"-এর সাথে -ObjC যোগ করুন। যদি এই সেটিংসগুলো দেখা না যায়, তাহলে বিল্ড সেটিংস বারের ফিল্টারটি বেসিক থেকে অল- এ পরিবর্তন করুন।

  9. iOS XCFramework-এর জন্য Places SDK ইনস্টল করতে, "iOS-এর জন্য Places SDK-এর সাথে শুরু করুন" দেখুন।

কোকোপড

iOS-এর জন্য Maps SDK একটি CocoaPods পড হিসেবে পাওয়া যায়। CocoaPods হলো Swift এবং Objective-C Cocoa প্রোজেক্টের জন্য একটি ওপেন সোর্স ডিপেন্ডেন্সি ম্যানেজার।

আপনার কাছে যদি আগে থেকেই CocoaPods টুলটি না থাকে, তাহলে টার্মিনাল থেকে নিম্নলিখিত কমান্ডটি চালিয়ে macOS-এ এটি ইনস্টল করুন। বিস্তারিত জানতে, CocoaPods Getting Started গাইডটি দেখুন।

sudo gem install cocoapods

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

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

ধাপ ৩: প্রজেক্টে আপনার API কী যোগ করুন।

"Get an API key" অংশে, আপনি আপনার অ্যাপের জন্য একটি API কী তৈরি করেছেন। এখন সেই কী-টি আপনার Xcode প্রজেক্টে যোগ করুন।

নিম্নলিখিত উদাহরণগুলিতে, YOUR_API_KEY এর জায়গায় আপনার এপিআই কী (API key) বসান।

সুইফট

আপনার AppDelegate.swift ফাইলে নিম্নলিখিতভাবে আপনার API কী যোগ করুন:

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

উদ্দেশ্য-সি

আপনার AppDelegate.m এ আপনার API কী নিম্নলিখিতভাবে যোগ করুন:

  1. নিম্নলিখিত ইম্পোর্ট স্টেটমেন্টটি যোগ করুন:
    @import GoogleMaps;
  2. আপনার API কী ব্যবহার করে, আপনার application:didFinishLaunchingWithOptions: মেথডে নিম্নলিখিতটি যোগ করুন:
    [GMSServices provideAPIKey:@"YOUR_API_KEY"];
  3. আপনিও যদি প্লেসেস এপিআই (Places API) ব্যবহার করে থাকেন, তাহলে এখানে দেখানো অনুযায়ী আপনার কী (key) আবার যোগ করুন:
    [GMSPlacesClient provideAPIKey:@"YOUR_API_KEY"];

ধাপ ৪ (ঐচ্ছিক): অ্যাপল প্রাইভেসি ম্যানিফেস্ট ফাইলটি পরিদর্শন করুন

অ্যাপ স্টোরে থাকা অ্যাপগুলোর জন্য অ্যাপলের গোপনীয়তার বিবরণ প্রয়োজন। আপডেট এবং আরও তথ্যের জন্য অ্যাপল অ্যাপ স্টোর প্রাইভেসি ডিটেইলস পেজটি দেখুন।

অ্যাপল প্রাইভেসি ম্যানিফেস্ট ফাইলটি এসডিকে-এর রিসোর্স বান্ডেলে অন্তর্ভুক্ত থাকে। প্রাইভেসি ম্যানিফেস্ট ফাইলটি অন্তর্ভুক্ত হয়েছে কিনা তা যাচাই করতে এবং এর বিষয়বস্তু পরীক্ষা করতে, আপনার অ্যাপের একটি আর্কাইভ তৈরি করুন এবং সেই আর্কাইভ থেকে একটি প্রাইভেসি রিপোর্ট জেনারেট করুন

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

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

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

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

নিম্নলিখিত স্ক্রিনশটটিতে Xcode ইউজার ইন্টারফেসের কনফিগারেশন দেখানো হয়েছে:

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

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

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