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

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

บันทึกประจำรุ่นมีให้สำหรับรุ่นต่างๆ

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

หากต้องการสร้างโปรเจ็กต์โดยใช้ Places SDK สําหรับ iOS คุณต้องมีสิ่งต่อไปนี้

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

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

Swift Package Manager

คุณสามารถติดตั้ง Places SDK สําหรับ iOS ผ่าน เครื่องมือจัดการแพ็กเกจ Swift หากต้องการเพิ่ม SDK โปรดตรวจสอบว่าคุณได้นําข้อกําหนดของ Places SDK สําหรับ iOS ที่มีอยู่ออกแล้ว

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

  1. เปิด Xcode project หรือ workspace แล้วไปที่ไฟล์ > เพิ่ม Package Dependency
  2. ป้อน https://github.com/googlemaps/ios-places-sdk เป็น URL แล้วกด Enter เพื่อดึงข้อมูลแพ็กเกจ แล้วคลิก "เพิ่มแพ็กเกจ"
  3. หากต้องการติดตั้ง version ที่เฉพาะเจาะจง ให้ตั้งค่าช่องกฎการพึ่งพาเป็นตัวเลือกตามเวอร์ชันใดเวอร์ชันหนึ่ง สำหรับโปรเจ็กต์ใหม่ เราขอแนะนำให้ระบุเวอร์ชันล่าสุดและใช้ตัวเลือก "เวอร์ชันที่แน่นอน" เมื่อดำเนินการเสร็จแล้ว ให้คลิก "เพิ่มแพ็กเกจ"
  4. จากหน้าต่างเลือกผลิตภัณฑ์ในแพ็กเกจ ให้ตรวจสอบว่าระบบจะเพิ่ม GooglePlaces, GooglePlacesSwift หรือทั้ง 2 รายการลงในเป้าหมายหลักที่คุณกำหนด เมื่อเสร็จแล้ว ให้คลิกเพิ่มแพ็กเกจ

    หากคุณอัปเดต Google Places Swift จาก URL ของ GitHub ที่เลิกใช้งานแล้ว

    สำคัญ: URL ของ GitHub ในการเข้าถึง Google Places Swift มีการเปลี่ยนแปลงตั้งแต่เวอร์ชัน 0.3.0 เป็นต้นไป หากคุณอัปเดต GooglePlacesSwift เวอร์ชันที่เข้าถึงผ่าน URL เก่า https://github.com/googlemaps/ios-places-swift-sdk ให้นำเวอร์ชันดังกล่าวออกจากส่วนแพ็กเกจที่ต้องพึ่งพาของ Xcode

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

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

  1. จาก Xcode ให้ไปที่ "ไฟล์ > แพ็กเกจ > อัปเดตเป็นเวอร์ชันล่าสุดของแพ็กเกจ"

    หากคุณอัปเดต Google Places Swift จาก URL ของ GitHub ที่เลิกใช้งานแล้ว

    สำคัญ: URL ของ GitHub ในการเข้าถึง Google Places Swift มีการเปลี่ยนแปลงตั้งแต่เวอร์ชัน 0.3.0 เป็นต้นไป หากคุณอัปเดต GooglePlacesSwift เวอร์ชันที่เข้าถึงผ่าน URL เก่า https://github.com/googlemaps/ios-places-swift-sdk ให้นำเวอร์ชันดังกล่าวออกจากส่วนแพ็กเกจที่ต้องพึ่งพาของ Xcode

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

หากต้องการนํา Places SDK สําหรับ iOS ที่มีอยู่ซึ่งติดตั้งด้วยตนเองออก ให้ทําตามขั้นตอนต่อไปนี้

  1. จากการตั้งค่าการกําหนดค่าโปรเจ็กต์ Xcode ให้ค้นหาเฟรมเวิร์ก ไลบรารี และเนื้อหาที่ฝัง ใช้เครื่องหมายลบ(-) เพื่อนำเฟรมเวิร์กต่อไปนี้ออก
    • GooglePlaces.xcframework
    • GooglePlacesSwift.xcframework
  2. นำแพ็กเกจ GooglePlacesออกจากไดเรกทอรีระดับบนสุดของโปรเจ็กต์ Xcode

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

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

  1. ดาวน์โหลดไฟล์ทรัพยากรและไฟล์ไบนารี SDK ต่อไปนี้
  2. หากติดตั้ง Places Swift SDK สําหรับ iOS ให้ติดตั้งไฟล์ต่อไปนี้
  3. แตกไฟล์เพื่อเข้าถึง XCFramework และทรัพยากร
  4. เปิด Xcode แล้วเปิดโปรเจ็กต์ที่มีอยู่หรือสร้างโปรเจ็กต์ใหม่ หากคุณเพิ่งเริ่มพัฒนา iOS ให้สร้างโปรเจ็กต์ใหม่แล้วเลือกเทมเพลตแอป iOS
  5. นำแพ็กเกจ Maps จากรุ่นก่อนหน้าออกจากโปรเจ็กต์
  6. เปิดแท็บทั่วไป ลาก XCFramework ต่อไปนี้ลงในโปรเจ็กต์ในส่วนเฟรมเวิร์ก ไลบรารี และเนื้อหาที่ฝัง โปรดตรวจสอบว่าได้เลือกไม่ฝังในกรณีต่อไปนี้
    • GooglePlaces.xcframework
    หากคุณกำลังติดตั้ง Places Swift SDK ให้ลาก XCFramework ต่อไปนี้ลงในโปรเจ็กต์ในส่วนเฟรมเวิร์ก ไลบรารี และเนื้อหาที่ฝัง โปรดตรวจสอบว่าได้เลือกไม่ฝังในกรณีต่อไปนี้
    • GooglePlacesSwift.xcframework
  7. คัดลอก GooglePlaces.bundle จาก GooglePlacesResources ที่ดาวน์โหลดมาลงในไดเรกทอรีระดับบนสุดของโปรเจ็กต์ Xcode อย่าลืมเลือก คัดลอกรายการไปยังโฟลเดอร์ของกลุ่มปลายทางเมื่อได้รับข้อความแจ้ง

    หากคุณกำลังติดตั้ง Places Swift SDK ให้คัดลอก GooglePlacesSwift.bundle จาก GooglePlacesSwiftResources ที่คุณดาวน์โหลดลงในไดเรกทอรีระดับบนสุดของโปรเจ็กต์ Xcode อย่าลืมเลือกคัดลอกรายการไปยังโฟลเดอร์ของกลุ่มปลายทางเมื่อได้รับข้อความแจ้ง
  8. เลือกโปรเจ็กต์จาก Project Navigator แล้วเลือกเป้าหมายของแอปพลิเคชัน
  9. เปิดแท็บระยะการสร้าง ภายในลิงก์ไบนารีกับบรรณารี ให้เพิ่มเฟรมเวิร์กและไลบรารีต่อไปนี้
    • CoreGraphics.framework
    • CoreLocation.framework
    • libc++.tbd
    • libz.tbd
    • QuartzCore.framework
    • UIKit.framework
  10. เลือกโปรเจ็กต์แทนเป้าหมายที่เฉพาะเจาะจง แล้วเปิดแท็บการตั้งค่าการสร้าง ในส่วนการลิงก์ - ทั่วไป -> Flag อื่นๆ ของ Linker ให้เพิ่ม -ObjC ลงใน "แก้ไขข้อบกพร่อง" และ "รุ่น" หากไม่เห็นการตั้งค่าเหล่านี้ ให้เปลี่ยนตัวกรองในแถบการตั้งค่าการสร้างจากพื้นฐานเป็นทั้งหมด

CocoaPods

Places SDK สำหรับ iOS และ Places Swift SDK สำหรับ iOS มีให้บริการเป็นพ็อด CocoaPod GooglePlaces และ GooglePlacesSwift

CocoaPods เป็นเครื่องมือจัดการ Dependency แบบโอเพนซอร์สสำหรับโปรเจ็กต์ Swift และ Objective-C Cocoa หากยังไม่มีเครื่องมือ CocoaPods ให้ติดตั้งใน macOS โดยเรียกใช้คำสั่งต่อไปนี้จากเทอร์มินัล โปรดดูรายละเอียดที่คู่มือการเริ่มต้นใช้งาน CocoaPods

sudo gem install cocoapods

สร้าง Podfile เพื่อติดตั้ง SDK และไลบรารีต่อไปนี้

  1. หากคุณยังไม่มีโปรเจ็กต์ Xcode ให้สร้างโปรเจ็กต์เลยและบันทึกลงในเครื่อง หากคุณเพิ่งเริ่มพัฒนา iOS ให้สร้างโปรเจ็กต์ใหม่แล้วเลือกเทมเพลตแอป iOS
  2. สร้างไฟล์ชื่อ Podfile ในไดเรกทอรีโปรเจ็กต์ ไฟล์นี้จะกำหนดทรัพยากรของโปรเจ็กต์
  3. แก้ไข Podfile และเพิ่ม Dependency พร้อมกับเวอร์ชัน ตัวอย่างที่ระบุชื่อเป้าหมายแอปพลิเคชันและชื่อของพ็อด GooglePlaces และ GooglePlacesSwift มีดังนี้
    source 'https://github.com/CocoaPods/Specs.git'
    
    platform :ios, '16.0'
    
    target 'YOUR_APPLICATION_TARGET_NAME_HERE' do
      pod 'GooglePlaces', '10.0.0'
      pod 'GooglePlacesSwift', '10.0.0'
    end
    อย่าลืมเรียกใช้ pod outdated เป็นประจำเพื่อตรวจหาเมื่อมีเวอร์ชันใหม่ เพื่อให้คุณใช้เวอร์ชันล่าสุดอยู่เสมอ
  4. บันทึกPodfile
  5. เปิดเทอร์มินัลแล้วไปที่ไดเรกทอรีที่มีไฟล์ Podfile ดังนี้

    cd <path-to-project>
  6. เรียกใช้คำสั่ง pod install ซึ่งจะติดตั้ง API ที่ระบุไว้ใน Podfile พร้อมกับ Dependency ทั้งหมดที่อาจมี

    pod install
  7. ปิด Xcode แล้วเปิด (ดับเบิลคลิก) ไฟล์ .xcworkspace ของโปรเจ็กต์เพื่อเปิด Xcode นับจากนี้เป็นต้นไป คุณต้องใช้ไฟล์ .xcworkspace เพื่อเปิดโปรเจ็กต์

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

  1. เปิดเทอร์มินัลและไปที่ไดเรกทอรีโปรเจ็กต์ที่มี Podfile
  2. เรียกใช้คำสั่ง pod update ซึ่งจะอัปเดต API ทั้งหมดที่ระบุไว้ใน Podfile เป็นเวอร์ชันล่าสุด

ขั้นตอนที่ 3: เพิ่มคีย์ API ลงในแอป

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

GooglePlacesSwift

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

  • เพิ่มคำสั่งการนําเข้าต่อไปนี้
    import GooglePlacesSwift
  • เพิ่มโค้ดต่อไปนี้ลงในเมธอด application(_:didFinishLaunchingWithOptions:) โดยแทนที่ YOUR_API_KEY ด้วยคีย์ API ของคุณ
    PlacesClient.provideAPIKey("YOUR_API_KEY")

Swift

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

  • เพิ่มคำสั่งการนําเข้าต่อไปนี้
    import GooglePlaces
  • เพิ่มโค้ดต่อไปนี้ลงในเมธอด application(_:didFinishLaunchingWithOptions:) โดยแทนที่ YOUR_API_KEY ด้วยคีย์ API ของคุณ
    GMSPlacesClient.provideAPIKey("YOUR_API_KEY")

Objective-C

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

  • เพิ่มคำสั่งการนําเข้าต่อไปนี้
    @import GooglePlaces;
  • เพิ่มโค้ดต่อไปนี้ลงในเมธอด application:didFinishLaunchingWithOptions: โดยแทนที่ YOUR_API_KEY ด้วยคีย์ API ของคุณ
    [GMSPlacesClient provideAPIKey:@"YOUR_API_KEY"];

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

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

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

ขั้นตอนถัดไป