Maps SDK สำหรับเวอร์ชัน iOS

เลือกแพลตฟอร์ม แอนดรอยด์ iOS JavaScript

ทีม Google Maps Platform อัปเดต SDK ให้มีฟีเจอร์ใหม่ๆ การแก้ไขข้อบกพร่อง และ เพื่อปรับปรุงประสิทธิภาพ หน้านี้จะมีคำแนะนำเกี่ยวกับวิธีจัดการทรัพยากร Dependency เกี่ยวกับ SDK อุปกรณ์เคลื่อนที่

  • สำหรับแอปที่สำคัญต่อพันธกิจ ให้ลิงก์ไปยังการเผยแพร่ของจุดล่าสุด เวอร์ชันที่คุณใช้งานอยู่ (X.*) และอัปเกรดรายปีเป็นเวอร์ชันหลักใหม่

    ขณะที่คุณเผยแพร่แอปพลิเคชันเวอร์ชันใหม่ คุณสามารถเริ่มใช้จุดใหม่ๆ ของ Maps SDK สำหรับ iOS ได้ตลอดทั้งปี การดำเนินการนี้จะ คุณไม่จำเป็นต้องอัปเดตในแอปพลิเคชันเนื่องจากจุดเวอร์ชันใหม่เข้ากันได้แบบย้อนหลัง

    ข้อดี

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

  • สำหรับแอปที่ไม่สำคัญ ให้ลิงก์ไปยังเวอร์ชันที่แก้ไขแล้ว เมื่อคุณได้รับการเลิกใช้งาน สำหรับเวอร์ชันที่แก้ไขแล้ว คุณจะมีเวลา 12 เดือนในการทำให้โค้ดแอปที่อัปเดตพร้อมใช้งานสำหรับ ผู้ใช้ของคุณ

    ข้อดี

    • มีงานบำรุงรักษาน้อยกว่า
    • แอปเวอร์ชันใหม่จะยังคงรองรับอุปกรณ์ของผู้ใช้ที่ใช้ระบบปฏิบัติการบนอุปกรณ์เคลื่อนที่เวอร์ชันเก่าต่อไปอีกระยะหนึ่ง (จนกว่าคุณจะต้องอัปเกรดเป็น SDK เวอร์ชันใหม่)

เจ้าของโปรเจ็กต์ซึ่งมีอีเมลที่ตรวจสอบแล้วจะได้รับการแจ้งเตือนเชิงรุกเกี่ยวกับการเปลี่ยนแปลงที่ ส่งผลต่อแต่ละโปรเจ็กต์ของพวกเขาอย่างไร อยู่ต่อ แจ้งเกี่ยวกับการอัปเดตที่สำคัญ การเลิกใช้งาน และการเปลี่ยนแปลงอื่นๆ

การติดตั้ง

เครื่องมือจัดการแพ็กเกจ Swift

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

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

  1. เปิด Xcode project หรือ workspace แล้วไปที่ ไฟล์ > เพิ่มทรัพยากร Dependency ของแพ็กเกจ
  2. ป้อน https://github.com/googlemaps/ios-maps-sdk เป็น URL แล้วกด Enter เพื่อดึงข้อมูลแพ็กเกจ แล้วคลิก "เพิ่มแพ็กเกจ"
  3. หากต้องการติดตั้ง version ที่เจาะจง ให้ตั้งค่าช่องกฎการขึ้นต่อกันเป็นค่าใดค่าหนึ่ง ตัวเลือกตามเวอร์ชัน สำหรับโปรเจ็กต์ใหม่ เราขอแนะนำให้ระบุเวอร์ชันล่าสุดและ โดยใช้ "เวอร์ชันที่แน่นอน" ตัวเลือก เมื่อเสร็จแล้ว ให้คลิก "เพิ่มแพ็กเกจ"
  4. จากหน้าต่างเลือกผลิตภัณฑ์แพ็กเกจ ให้ยืนยัน GoogleMaps (สำหรับเวอร์ชันที่เก่ากว่า 9.0.0) GoogleMaps, GoogleMapsBase และ GoogleMapsCore) จะเพิ่มไปยัง เป้าหมาย main ที่กำหนด เมื่อเสร็จแล้ว ให้คลิก "เพิ่มแพ็กเกจ"
  5. หากต้องการยืนยันการติดตั้ง ให้ไปที่แผง General ของเป้าหมาย คุณควรเห็นแพ็กเกจที่ติดตั้งในเฟรมเวิร์ก ไลบรารี และเนื้อหาที่ฝัง นอกจากนี้ คุณยังสามารถดู "ทรัพยากร Dependency ของแพ็กเกจ" ส่วนของ "Project Navigator" เพื่อยืนยันแพ็กเกจและเวอร์ชันของแพ็กเกจ

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

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

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

    • GoogleMapsBase (สำหรับการอัปเกรดจากเวอร์ชันก่อน 9.0.0 เท่านั้น)
    • GoogleMapsCore (สำหรับการอัปเกรดจากเวอร์ชันก่อน 9.0.0 เท่านั้น)
    • GoogleMapsM4B (สำหรับการอัปเกรดจากเวอร์ชันก่อน 9.0.0 เท่านั้น)
  2. จาก Xcode ให้ไปที่ "File > แพ็กเกจ > อัปเดตเป็นเวอร์ชันล่าสุดของแพ็กเกจ"
  3. หากต้องการยืนยันการติดตั้ง ให้ไปที่ส่วนการอ้างอิงแพ็กเกจของ Project Navigator เพื่อยืนยันแพ็กเกจและเวอร์ชันของแพ็กเกจ

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

  1. ปิดพื้นที่ทำงาน Xcode เปิดเทอร์มินัลและเรียกใช้คำสั่งต่อไปนี้
    sudo gem install cocoapods-deintegrate cocoapods-clean 
    pod deintegrate 
    pod cache clean --all
  2. นำ Podfile, Podfile.resolved และ Xcode workspace หากคุณไม่ได้ใช้สำหรับวัตถุประสงค์อื่นนอกเหนือจาก CocoaPods

CocoaPods

ระบุหมายเลขเวอร์ชันในทรัพยากร Dependency เสมอแทนการใช้โอเปอเรเตอร์ที่ให้ผลดีที่สุด (~>) เนื่องจากอาจทำให้เกิดการสร้างบิลด์ที่คาดการณ์ไม่ได้และทำซ้ำไม่ได้ Maps SDK สำหรับ iOS เป็นไปตามการกำหนดเวอร์ชันทางอรรถศาสตร์ และเวอร์ชันหลักรุ่นใหม่เปิดตัวการเปลี่ยนแปลงที่ส่งผลกับส่วนอื่นในระบบ

ตัวอย่างการพึ่งพา Podfile ที่ใช้ ไวยากรณ์ Podfile

source 'https://github.com/CocoaPods/Specs.git'

platform :ios, '15.0'

target 'YOUR_APPLICATION_TARGET_NAME_HERE' do
  pod 'GoogleMaps', '8.4.0'
end

การบำรุงรักษาและการอัปเกรด

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

เครื่องมือจัดการแพ็กเกจ Swift

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

  1. จาก Xcode ให้ไปที่ "File > แพ็กเกจ > อัปเดตเป็นเวอร์ชันล่าสุดของแพ็กเกจ"
  2. หากต้องการยืนยันการติดตั้ง ให้ไปที่ส่วนการอ้างอิงแพ็กเกจของ Project Navigator เพื่อยืนยันแพ็กเกจและเวอร์ชันของแพ็กเกจ

Cocoapods

  1. เปิดเทอร์มินัลและไปที่ไดเรกทอรีที่มี Podfile:

    cd <path-to-project>
  2. เรียกใช้ pod outdated เพื่อดูว่า Maps SDK สำหรับ iOS เวอร์ชันใหม่กว่าหรือไม่ พร้อมใช้งาน
  3. หากพบ SDK เวอร์ชันใหม่ ให้อัปเดต Podfile เป็นเวอร์ชันใหม่นี้ ดูการระบุเวอร์ชันพ็อด เพื่อดูวิธีการตั้งค่าเวอร์ชันที่เฉพาะเจาะจงใน Podfile
  4. เรียกใช้ pod update
  5. ทำการเปลี่ยนแปลงที่จำเป็นซึ่งเป็นผลมาจากการอัปเกรด โปรดดู บันทึกประจำรุ่นสำหรับรายการการเปลี่ยนแปลงในแต่ละรุ่น
  6. ล้างและสร้างโปรเจ็กต์ใหม่โดยเลือกผลิตภัณฑ์ > ล้าง จากนั้น ผลิตภัณฑ์ > สร้าง

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

รับลิงก์ไปยังไฟล์ต้นฉบับล่าสุด ในการติดตั้ง SDK

นอกจากการสำรวจแอปเวอร์ชันใหม่แล้ว Google Cloud โปรเจ็กต์ เจ้าของจะได้รับอีเมลเกี่ยวกับการเปลี่ยนแปลงที่เข้ากันไม่ได้แบบย้อนหลังซึ่งอาจส่งผลต่อโปรเจ็กต์ของตน ถึง รับการแจ้งเตือนเชิงรุกเกี่ยวกับการเปลี่ยนแปลง ที่เข้ากันไม่ได้แบบย้อนหลัง มอบหมาย บทบาทเจ้าของที่มีอีเมลที่ตรวจสอบสำหรับแต่ละโปรเจ็กต์