สร้างโปรเจ็กต์ Xcode

หลังจากเปิดใช้การเรียกเก็บเงินและสร้างคีย์ API แล้ว ให้ตั้งค่าโปรเจ็กต์ Xcode ที่คุณใช้พัฒนาแอป

บันทึกประจำรุ่นพร้อมให้บริการสำหรับการเผยแพร่แต่ละครั้ง

ขั้นตอนที่ 1: ติดตั้งซอฟต์แวร์ที่จำเป็น

หากต้องการสร้างโปรเจ็กต์โดยใช้ Maps SDK สำหรับ iOS ให้ดาวน์โหลดและติดตั้งซอฟต์แวร์ต่อไปนี้

  • Xcode เวอร์ชัน 26.0 ขึ้นไป

ขั้นตอนที่ 2: สร้างโปรเจ็กต์ Xcode และติดตั้ง Maps SDK สำหรับ iOS

ขนาดการติดตั้ง SDK จะแตกต่างกันไป เช่น ขนาดการติดตั้งสำหรับ Maps SDK สำหรับ iOS เวอร์ชัน 9.0 จะอยู่ที่ประมาณ 18 MB

Swift Package Manager

คุณสามารถติดตั้ง Maps SDK สำหรับ iOS ผ่าน Swift Package Manager ได้ หากต้องการเพิ่ม SDK ให้ตรวจสอบว่าคุณได้ นำทรัพยากร Dependency ของ Maps SDK สำหรับ iOS ที่มีอยู่ออกแล้ว

หากต้องการเพิ่ม SDK ลงในโปรเจ็กต์ใหม่หรือโปรเจ็กต์ที่มีอยู่ ให้ทำตามขั้นตอนต่อไปนี้

  1. เปิด project หรือ workspace ของ Xcode แล้วไปที่File > Add Package Dependencies
  2. ป้อน https://github.com/googlemaps/ios-maps-sdk เป็น URL กด Enter เพื่อดึงแพ็กเกจ แล้วคลิก "Add Package"
  3. หากต้องการติดตั้ง version ที่เฉพาะเจาะจง ให้ตั้งค่าช่อง Dependency Rule เป็นตัวเลือกใดตัวเลือกหนึ่งที่อิงตามเวอร์ชัน สำหรับโปรเจ็กต์ใหม่ เราขอแนะนำให้ระบุเวอร์ชันล่าสุดและ ใช้ตัวเลือก "Exact Version" เมื่อเสร็จแล้ว ให้คลิก "Add Package"
  4. จากหน้าต่าง Choose Package Products ให้ตรวจสอบว่าระบบจะเพิ่ม GoogleMaps (สำหรับเวอร์ชันก่อน 9.0.0 ให้ตรวจสอบ GoogleMaps, GoogleMapsBase, และ GoogleMapsCore) ลงใน เป้าหมาย main ที่กำหนด เมื่อเสร็จแล้ว ให้คลิก "Add Package"
  5. หากต้องการยืนยันการติดตั้ง ให้ไปที่บานหน้าต่างGeneral ของเป้าหมาย คุณควรเห็นแพ็กเกจที่ติดตั้งในส่วนFrameworks, Libraries, and Embedded Content นอกจากนี้ คุณยังดูส่วน "Package Dependencies" ของ "Project Navigator" เพื่อยืนยันแพ็กเกจและเวอร์ชันได้ด้วย

หากต้องการอัปเดต package สำหรับโปรเจ็กต์ที่มีอยู่ ให้ทำตามขั้นตอนต่อไปนี้

  1. หากอัปเกรดจากเวอร์ชันก่อน 9.0.0 คุณต้องนำทรัพยากร Dependency ต่อไปนี้ออก GoogleMapsBase, GoogleMapsCore และ GoogleMapsM4B หลังจากอัปเกรด โดยไม่ต้องนำทรัพยากร Dependency สำหรับ GoogleMaps ออก ดูข้อมูลเพิ่มเติมได้ที่ บันทึกประจำรุ่นของเวอร์ชัน 9.0.0

    ค้นหา Frameworks, Libraries, and Embedded Content จากการตั้งค่าการกำหนดค่าโปรเจ็กต์ Xcode ใช้เครื่องหมายลบ(-) เพื่อนำเฟรมเวิร์กต่อไปนี้ออก

    • 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 เพื่อยืนยันแพ็กเกจและเวอร์ชัน

หากต้องการนำทรัพยากร Dependency ของ Maps SDK สำหรับ iOS ที่มีอยู่ซึ่งเพิ่มโดยใช้ CocoaPods ออก ให้ทำตามขั้นตอนต่อไปนี้

  1. ปิดพื้นที่ทำงาน Xcode เปิดเทอร์มินัลและเรียกใช้คำสั่งต่อไปนี้
    sudo gem install cocoapods-deintegrate cocoapods-clean
    pod deintegrate
    pod cache clean --all
  2. นำ Podfile, Podfile.resolved และ Xcode workspace ออกหากคุณไม่ได้ใช้ไฟล์เหล่านี้เพื่อวัตถุประสงค์อื่นนอกเหนือจาก CocoaPods
หากต้องการนำ Maps SDK สำหรับ iOS ที่ติดตั้งด้วยตนเองออก ให้ทำตามขั้นตอนต่อไปนี้
  1. ค้นหา Frameworks, Libraries, and Embedded Content จากการตั้งค่าการกำหนดค่าโปรเจ็กต์ Xcode ใช้เครื่องหมายลบ (-) เพื่อนำเฟรมเวิร์กต่อไปนี้ออก
    • GoogleMaps
    • GoogleMapsBase (สำหรับการติดตั้งก่อนเวอร์ชัน 9.2.0 เท่านั้น)
    • GoogleMapsCore (สำหรับการติดตั้งก่อนเวอร์ชัน 9.2.0 เท่านั้น)
    • GoogleMapsM4B (สำหรับการติดตั้งก่อนเวอร์ชัน 9.0.0 เท่านั้น)
  2. นำบันเดิล GoogleMaps ออกจากไดเรกทอรีระดับบนสุดของโปรเจ็กต์ Xcode

การติดตั้งด้วยตนเอง

คู่มือนี้อธิบายวิธีเพิ่ม XCFrameworks ที่มี Maps SDK สำหรับ iOS ลงในโปรเจ็กต์ด้วยตนเอง และกำหนดค่าการตั้งค่าบิลด์ใน Xcode XCFramework เป็นแพ็กเกจไบนารีที่คุณใช้ในหลายแพลตฟอร์ม รวมถึงเครื่องที่ใช้ Apple Silicon

  1. ดาวน์โหลดไบนารี SDK และไฟล์ทรัพยากรต่อไปนี้
  2. แยกไฟล์เพื่อเข้าถึง XCFrameworks และทรัพยากร
  3. หากยังไม่มีโปรเจ็กต์ Xcode ให้สร้างโปรเจ็กต์ตอนนี้และบันทึกลงใน เครื่องของคุณ หากคุณเพิ่งเริ่มพัฒนาแอป iOS ให้ทำดังนี้
    1. สร้างโปรเจ็กต์ใหม่
    2. เลือกเทมเพลต iOS > App
    3. ในหน้าจอตัวเลือกโปรเจ็กต์ ให้ทำดังนี้
      1. ป้อนชื่อโปรเจ็กต์
      2. บันทึกค่าของช่องรหัสชุดซอฟต์แวร์ คุณสามารถใช้ค่านั้นเพื่อจำกัดคีย์ API ด้านล่าง
      3. ตั้งค่าอินเทอร์เฟซ ของโปรเจ็กต์เป็น Storyboard
      4. ตั้งค่าภาษา เป็น Swift หรือ Objective-C
  4. เปิดแท็บทั่วไป ลาก XCFrameworks ต่อไปนี้ลงในโปรเจ็กต์ ในส่วน Frameworks, Libraries, and Embedded Content และอย่าลืม เลือก Do Not Embed:
    • GoogleMaps.xcframework
  5. คัดลอก GoogleMaps.bundle จาก GoogleMapsResources ที่คุณดาวน์โหลดลงในไดเรกทอรีระดับบนสุดของโปรเจ็กต์ 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. เลือกโปรเจ็กต์แทนที่จะเลือกเป้าหมายที่เฉพาะเจาะจง แล้วเปิดแท็บ Build Settings ในส่วน Linking - General -> Other Linker Flags ให้เพิ่ม -ObjC ลงใน "Debug" และ "Release" หากไม่เห็นการตั้งค่าเหล่านี้ ให้เปลี่ยนตัวกรองในแถบ Build Settings จาก Basic เป็น All

  9. หากต้องการติดตั้ง Places SDK สำหรับ iOS XCFramework โปรดดูหัวข้อ เริ่มต้นใช้งาน Places SDK สำหรับ iOS

ขั้นตอนที่ 3: เพิ่มคีย์ API ลงในโปรเจ็กต์

ในหัวข้อรับคีย์ API คุณ ได้สร้างคีย์ API สำหรับแอปแล้ว ตอนนี้ให้เพิ่มคีย์ดังกล่าวลงในโปรเจ็กต์ Xcode

ในตัวอย่างต่อไปนี้ ให้แทนที่ YOUR_API_KEY ด้วยคีย์ API ของคุณ

Swift

เพิ่มคีย์ API ลงใน AppDelegate.swift ดังนี้

  1. เพิ่มคำสั่งนำเข้าต่อไปนี้
    import GoogleMaps
  2. เพิ่มข้อมูลต่อไปนี้ลงในเมธอด application(_:didFinishLaunchingWithOptions:) โดยใช้คีย์ API ของคุณ
    GMSServices.provideAPIKey("YOUR_API_KEY")
  3. หากคุณใช้ Places API ด้วย ให้เพิ่มคีย์อีกครั้งตามที่แสดงไว้ที่นี่
    GMSPlacesClient.provideAPIKey("YOUR_API_KEY")

Objective-C

เพิ่มคีย์ API ลงใน AppDelegate.m ดังนี้

  1. เพิ่มคำสั่งนำเข้าต่อไปนี้
    @import GoogleMaps;
  2. เพิ่มข้อมูลต่อไปนี้ลงในเมธอด application:didFinishLaunchingWithOptions: โดยใช้คีย์ API ของคุณ
    [GMSServices provideAPIKey:@"YOUR_API_KEY"];
  3. หากคุณใช้ Places API ด้วย ให้เพิ่มคีย์อีกครั้งตามที่แสดงไว้ที่นี่
    [GMSPlacesClient provideAPIKey:@"YOUR_API_KEY"];

ขั้นตอนที่ 4 (ไม่บังคับ): ตรวจสอบไฟล์ Privacy Manifest ของ Apple

Apple กำหนดให้แอปใน App Store ต้องระบุรายละเอียดความเป็นส่วนตัวของแอป โปรดไปที่หน้าข้อมูลความเป็นส่วนตัวของ Apple App Store เพื่อดูข้อมูลอัปเดตและข้อมูลเพิ่มเติม

ไฟล์ Privacy Manifest ของ Apple จะรวมอยู่ในบันเดิลทรัพยากรสำหรับ SDK หากต้องการยืนยันว่าได้รวมไฟล์ Privacy Manifest ไว้แล้วและตรวจสอบเนื้อหาของไฟล์ ให้สร้างที่เก็บถาวรของแอปและสร้างรายงานความเป็นส่วนตัวจากที่เก็บถาวร

ขั้นตอนที่ 5 (ไม่บังคับ): ประกาศ URL Scheme ที่ API ใช้

ตั้งแต่ iOS 9 และ Xcode 7 เป็นต้นมา แอปจะประกาศ URL Scheme ที่ต้องการเปิดโดยระบุ Scheme ในไฟล์ Info.plist ของแอป Maps SDK สำหรับ iOS จะเปิดแอป Google Maps บนมือถือเมื่อผู้ใช้คลิกโลโก้ Google บนแผนที่ ดังนั้นแอปของคุณจึงประกาศ URL Scheme ที่เกี่ยวข้องได้

หากต้องการประกาศ URL Scheme ที่ Maps SDK สำหรับ iOS ใช้ ให้เพิ่มบรรทัดต่อไปนี้ลงใน Info.plist

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

รูปภาพต่อไปนี้แสดงการกำหนดค่าในอินเทอร์เฟซผู้ใช้ Xcode

การกำหนดค่า `LSApplicationQueriesSchemes` ใน Xcode

หากไม่มีการประกาศข้างต้น ข้อผิดพลาดต่อไปนี้อาจเกิดขึ้นเมื่อผู้ใช้แตะโลโก้ 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 แล้ว ให้สร้างและเรียกใช้แอป Navigation SDK สำหรับ iOS มีบทแนะนำและแอปตัวอย่างมากมายที่จะช่วยให้คุณเริ่มต้นใช้งานได้ ดูรายละเอียดเพิ่มเติมได้ที่