HealthKit: คืออะไร ทำงานอย่างไร และการรวม

ผู้แต่ง: IT Sectr เผยแพร่เมื่อ: 2026-03-25 เวลาอ่าน: 8 นาที

เฟรมเวิร์ก HealthKit เป็นองค์ประกอบหลักของระบบนิเวศสุขภาพของ Apple ที่รวบรวมข้อมูลจาก iPhone, Apple Watch และอุปกรณ์ของบุคคลที่สามในพื้นที่จัดเก็บในเครื่องที่ปลอดภัย ตาม Apple Developer Documentation, 2025 แพลตฟอร์มรองรับข้อมูลมากกว่า 100 ประเภท — ตั้งแต่กิจกรรมทางกายและการนอนหลับไปจนถึงการทดสอบในห้องปฏิบัติการและตัวชี้วัดระบบหัวใจและหลอดเลือด คลังข้อมูลเดียว ของข้อมูลทางการแพทย์ช่วยให้การซิงโครไนซ์ระหว่างแอปพลิเคชันเป็นไปอย่างราบรื่นด้วยการควบคุมการเข้าถึงแบบละเอียดสำหรับข้อมูลแต่ละประเภท

ประเด็นสำคัญ

  • HealthKit คือเฟรมเวิร์กของ Apple สำหรับการรวบรวม จัดเก็บ และแบ่งปันข้อมูลสุขภาพระหว่างแอปพลิเคชัน iOS
  • HKHealthStore คือออบเจกต์กลางที่แอปพลิเคชันโต้ตอบกับข้อมูลสุขภาพ
  • ประเภทข้อมูล แบ่งออกเป็นเชิงปริมาณ HKQuantityType และเชิงหมวดหมู่ HKCategoryType
  • ความเป็นส่วนตัว — แต่ละแอปพลิเคชันขออนุญาตอ่านและเขียนสำหรับข้อมูลแต่ละประเภทแยกกัน
  • Apple Watch ส่งข้อมูลกิจกรรม อัตราการเต้นของหัวใจ และการออกกำลังกายไปยัง HealthKit โดยอัตโนมัติ

HealthKit คืออะไร?

HealthKit คือเฟรมเวิร์กจาก Apple ที่เปิดตัวในปี 2014 พร้อมกับ iOS 8 ออกแบบมาเพื่อการจัดการข้อมูลสุขภาพและกิจกรรมทางกายของผู้ใช้แบบรวมศูนย์ แพลตฟอร์มทำหน้าที่เป็นคลังข้อมูลรวมศูนย์ที่แอปพลิเคชันและอุปกรณ์สามารถเขียนและอ่านข้อมูลทางการแพทย์ได้

แตกต่างจากโซลูชันของบุคคลที่สาม HealthKit ถูกสร้างไว้โดยตรงใน ระบบปฏิบัติการ iOS ซึ่งรับประกันประสิทธิภาพสูงและความปลอดภัยในระดับฮาร์ดแวร์ แอปพลิเคชันไม่สามารถเข้าถึงซึ่งกันและกันโดยตรง — การดำเนินการทั้งหมดผ่าน HKHealthStore ส่วนกลาง

ตาม Apple WWDC 2024 ผู้ใช้ iPhone มากกว่า 87% ในสหรัฐอเมริกาเคยใช้แอปสุขภาพในตัวอย่างน้อยหนึ่งครั้ง ซึ่งใช้ HealthKit เป็นพื้นฐาน ระบบนิเวศประกอบด้วยแอปพลิเคชันของบุคคลที่สามหลายพันรายการ — ตั้งแต่ตัวติดตามฟิตเนสไปจนถึงบริการเทเลเมดิซีน

สถาปัตยกรรม HealthKit

สถาปัตยกรรม HealthKit สร้างขึ้นบนหลักการของ พื้นที่จัดเก็บหลายระดับ ด้วยคอนเทนเนอร์ที่แยกสำหรับแต่ละแหล่งข้อมูล ในระดับล่างคือฐานข้อมูล SQLite ที่เข้ารหัสด้วย AES-256 ของฮาร์ดแวร์ ในระดับบนคือ HKHealthStore — อินเทอร์เฟซการโต้ตอบแบบรวม

แต่ละระเบียนประกอบด้วยข้อมูลเมตา: แหล่งที่มา HKSource, อุปกรณ์ HKDevice, วันที่, เวลา และแฟล็ก การซิงโครไนซ์ ของ iCloud ระบบจะดีดัพลิเคตระเบียนที่ซ้ำจากแหล่งเดียวกันโดยอัตโนมัติ ป้องกันการบิดเบือนข้อมูล

ข้อมูลถูกจัดกลุ่มตามประเภท — HKQuantityType สำหรับตัวชี้วัดเชิงตัวเลข (อัตราการเต้นของหัวใจ, จำนวนก้าว, แคลอรี่) และ HKCategoryType สำหรับเหตุการณ์เชิงหมวดหมู่ (การนอนหลับ, อาการ, รอบประจำเดือน) โครงสร้างนี้ช่วยให้สามารถสอบถามการรวมกันของพารามิเตอร์ใดๆ ได้อย่างยืดหยุ่นผ่าน HKSampleQuery หรือ HKStatisticsQuery

ประเภทข้อมูลใน HealthKit

HealthKit รองรับ ข้อมูลมากกว่า 100 ประเภทมาตรฐาน แบ่งออกเป็นหมวดหมู่: กิจกรรมทางกาย, โภชนาการ, การนอนหลับ, ระบบหัวใจและหลอดเลือด, สุขภาพการเจริญพันธุ์, ผลการทดสอบในห้องปฏิบัติการ และสัญญาณชีพ แต่ละประเภทมีหน่วยวัด HKUnit และระดับการเข้าถึง

นักพัฒนายังสามารถสร้าง ความสัมพันธ์แบบกำหนดเอง ผ่าน HKCorrelation — กลุ่มของการวัดที่เกี่ยวข้อง ตัวอย่างเช่น ระเบียนมื้ออาหารสามารถรวมแคลอรี่ โปรตีน ไขมัน และคาร์โบไฮเดรตเป็นออบเจกต์เดียว สำหรับการวัดแบบลำดับเช่นระดับกลูโคส จะใช้ HKSeriesSample

การทำงานกับ HealthKit เริ่มต้นด้วยการกำหนด HKHealthStore — ซิงเกิลตันที่ถูกสร้างขึ้นโดยอัตโนมัติเมื่อนำเข้าเฟรมเวิร์ก ผ่าน store แอปพลิเคชันตรวจสอบว่าแพลตฟอร์มพร้อมใช้งานบนอุปกรณ์หรือไม่ เนื่องจากการสนับสนุนอาจไม่มีบน iPad และ iPod touch สิ่งสำคัญอีกประการคือ HealthKit ไม่พร้อมใช้งานบน Mac Catalyst — macOS ต้องการการใช้งานแยกต่างหาก

swift
import HealthKit

let healthStore = HKHealthStore()

let stepType = HKQuantityType
    .quantityType(forIdentifier: .stepCount)

let heartRateType = HKQuantityType
    .quantityType(forIdentifier: .heartRate)

let typesToRead: Set = [stepType, heartRateType]

HealthKit ทำงานอย่างไร

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

เฟรมเวิร์กรองรับ การซิงโครไนซ์ในเบื้องหลัง ผ่าน iCloud: หากผู้ใช้ลงชื่อเข้าใช้ HealthKit จะกระจายข้อมูลไปยังอุปกรณ์ Apple ทั้งหมดโดยอัตโนมัติแบบเรียลไทม์ เมื่อไม่มีเครือข่าย การเปลี่ยนแปลงจะถูกบัฟเฟอร์ในเครื่องและซิงโครไนซ์เมื่อการเชื่อมต่อกลับคืนมาโดยไม่สูญเสียข้อมูล

ตาม Apple ความล่าช้าในการซิงโครไนซ์ ระหว่าง iPhone และ Apple Watch น้อยกว่า 30 วินาทีสำหรับข้อมูลกิจกรรม สำหรับประเภทอื่น — การนอนหลับ โภชนาการ ผลการทดสอบ — การซิงโครไนซ์เกิดขึ้นตามกำหนดการด้วยช่วงเวลาสูงสุด 15 นาทีเพื่อประหยัดแบตเตอรี่

HKHealthStore และการดำเนินการกับข้อมูล

HKHealthStore คือซิงเกิลตันส่วนกลางที่ดำเนินการทั้งหมดผ่าน: การบันทึกผ่าน saveObject, การอ่านผ่าน execute และการลบผ่าน deleteObject แต่ละการดำเนินการเป็นแบบอะซิงโครนัสและส่งคืนผลลัพธ์ผ่าน closure ซึ่งต้องการการจัดการข้อผิดพลาดที่เหมาะสม

คำสั่งสอบถามแบ่งออกเป็นหลายประเภท: HKSampleQuery สำหรับการดึงระเบียนตามเกณฑ์, HKStatisticsQuery สำหรับข้อมูลรวม — ผลรวม, ค่าเฉลี่ย, ค่าต่ำสุด, ค่าสูงสุด — และ HKObserverQuery สำหรับติดตามการเปลี่ยนแปลงแบบเรียลไทม์ สำหรับการอัปเดตเบื้องหลังเป็นระยะ จะใช้ HKHeartbeatSeriesQuery

swift
let type = HKQuantityType
    .quantityType(forIdentifier: .stepCount)
let now = Date()
let start = Calendar.current
    .date(
        byAdding: .day,
        value: -7,
        to: now
    )
let predicate = HKQuery
    .predicateForSamples(
        withStart: start,
        end: now,
        options: .strictStartDate
    )
let query = HKSampleQuery(
    sampleType: type,
    predicate: predicate,
    limit: 100
) { _, samples, _ in
    for sample in samples as [HKQuantitySample] {
        print(sample.quantity)
    }
}
healthStore.execute(query)

การรวม HealthKit ในแอปพลิเคชัน

การรวม HealthKit เริ่มต้นด้วย การเปิดใช้งานความสามารถ HealthKit ใน Xcode และเพิ่ม entitlement ในโครงการ จากนั้นแอปพลิเคชันขออนุญาตเข้าถึงประเภทข้อมูลเฉพาะผ่านการเรียก requestAuthorization สำคัญ: HealthKit ไม่พร้อมใช้งานบนโปรแกรมจำลองและต้องการอุปกรณ์จริงที่มี iOS

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

ตามการวิจัยของ Apple แอปพลิเคชันที่มีการรวม HealthKit แสดงระดับการมีส่วนร่วมของผู้ใช้สูงขึ้น 40% ปัจจัยสำคัญของความสำเร็จคือการอธิบายว่าเหตุใดแอปจึงต้องการข้อมูลสุขภาพเฉพาะในคำอธิบายคำขออนุญาต

คำขออนุญาต

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

swift
let typesToWrite: Set = [
    HKQuantityType
        .quantityType(
            forIdentifier: .dietaryEnergyConsumed
        )
]
let typesToRead: Set = [
    HKQuantityType
        .quantityType(
            forIdentifier: .stepCount
        )
]

healthStore.requestAuthorization(
    toShare: typesToWrite,
    read: typesToRead
) { success, error in
    if success {
        print("ได้รับอนุญาตแล้ว")
    }
}

ความปลอดภัยของ HealthKit

HealthKit ใช้โมเดลความปลอดภัยหลายชั้นซึ่งรวมถึงการเข้ารหัสฮาร์ดแวร์, การแซนด์บ็อกซ์แอปพลิเคชัน และสิทธิ์แบบละเอียด ข้อมูลสุขภาพทั้งหมดถูกจัดเก็บในรูปแบบเข้ารหัสบนอุปกรณ์และไม่ได้ส่งไปยัง iCloud โดยไม่ได้รับความยินยอมแยกต่างหากจากผู้ใช้ ซึ่งจะขอครั้งเดียว

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

Apple ควบคุมการใช้ HealthKit อย่างเข้มงวดใน แนวทางการตรวจสอบ App Store แอปพลิเคชันไม่สามารถถ่ายโอนข้อมูล HealthKit ให้บุคคลที่สามโดยไม่ได้รับความยินยอมอย่างชัดแจ้ง ไม่สามารถใช้เพื่อการโฆษณาหรือการกำหนดเป้าหมาย และไม่สามารถจัดเก็บนานกว่าที่จำเป็นสำหรับฟังก์ชันการทำงานที่ประกาศไว้

ข้อจำกัดและข้อกำหนด

HealthKit มีข้อจำกัดหลายประการ: ขนาดฐานข้อมูลสูงสุดบนอุปกรณ์คือ 1 GB, ข้อจำกัดจำนวนระเบียนในคำสั่งสอบถามเดียวคือ 1000 และช่วงเวลาขั้นต่ำระหว่างประเภทข้อมูลเดียวกันคือ 1 วินาที เฟรมเวิร์กยังจำกัดการอัปเดตในเบื้องหลัง — ไม่เกิน 60 การเรียกใช้ HKObserverQuery ต่อวัน

ข้อจำกัดเหล่านี้ถูกชดเชยด้วยประสิทธิภาพ: การอ่าน 1000 ระเบียน ใช้เวลาเฉลี่ย 50–100 มิลลิวินาที และการเขียนหนึ่งระเบียนใช้เวลาน้อยกว่า 10 มิลลิวินาที สำหรับข้อมูลปริมาณมาก แนะนำให้ใช้ HKStatisticsCollectionQuery พร้อมการรวมล่วงหน้าแทนการดึงระเบียนทีละรายการ HealthKit ประมวลผลคำสั่งสอบถามแบบอะซิงโครนัส — แอปพลิเคชันไม่ถูกบล็อกขณะรอข้อมูลจาก HKHealthStore

คำถามที่พบบ่อย

อุปกรณ์ใดบ้างที่รองรับ HealthKit?

HealthKit รองรับบนอุปกรณ์ทั้งหมดที่ใช้ iOS 8 ขึ้นไป รวมถึง iPhone, iPad และ iPod touch Apple Watch ส่งข้อมูลโดยอัตโนมัติผ่าน iPhone ที่เชื่อมต่อ อุปกรณ์ของบุคคลที่สาม — สายรัดฟิตเนส, เครื่องชั่ง, เครื่องวัดความดันโลหิต — สามารถเขียนข้อมูลผ่าน HealthKit API หากมีแอปพลิเคชันที่เกี่ยวข้อง

สามารถส่งออกข้อมูลจาก HealthKit ได้หรือไม่?

ได้ แอปสุขภาพอนุญาตให้ ส่งออก ข้อมูลทั้งหมดในรูปแบบ XML ผ่านฟังก์ชัน “ส่งออกข้อมูลสุขภาพ” นักพัฒนาสามารถอ่านประเภทที่ได้รับอนุญาตใดๆ ผ่าน HKSampleQuery และส่งออกเป็นรูปแบบของตนเอง ข้อมูลสุขภาพไม่สามารถถ่ายโอนไปยังเซิร์ฟเวอร์ของบุคคลที่สามโดยไม่ได้รับความยินยอมอย่างชัดแจ้งจากผู้ใช้

HealthKit จัดการกับการลบข้อมูลอย่างไร?

ผู้ใช้สามารถลบข้อมูลผ่านแอปสุขภาพหรือผ่านแอปพลิเคชันแหล่งที่มาที่บันทึกไว้ หลังจากลบแล้ว ข้อมูลไม่สามารถกู้คืนได้ — HealthKit ไม่มีถังขยะ การลบไม่สามารถย้อนกลับได้ ดังนั้นแอปพลิเคชันควรขอการยืนยันก่อนดำเนินการ deleteObject

HealthKit แตกต่างจาก ResearchKit อย่างไร?

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

ต้องได้รับอนุญาตพิเศษสำหรับ HealthKit ใน App Store หรือไม่?

ใช่ แอปพลิเคชันที่ใช้ HealthKit ต้องปฏิบัติตาม แนวทางการตรวจสอบ App Store ส่วน 5.1.1 — ข้อมูลทางการแพทย์และสุขภาพ ต้องมีคำอธิบายการใช้ข้อมูลในแอปพลิเคชันอย่างชัดเจน, นโยบายความเป็นส่วนตัว, การห้ามใช้ข้อมูลเพื่อการโฆษณา และการเข้ารหัสระหว่างการส่งผ่านเครือข่าย

สรุป

  • HealthKit คือเฟรมเวิร์กมาตรฐานของ Apple สำหรับการจัดการข้อมูลสุขภาพใน iOS เปิดตัวในปี 2014
  • HKHealthStore คืออินเทอร์เฟซกลางสำหรับการดำเนินการทั้งหมด: การบันทึก, การอ่าน และการลบข้อมูลสุขภาพ
  • แพลตฟอร์มรองรับ ข้อมูลมากกว่า 100 ประเภท — ตั้งแต่กิจกรรมทางกายจนถึงการทดสอบในห้องปฏิบัติการ
  • ความเป็นส่วนตัวของข้อมูล ได้รับการรับรองโดยการเข้ารหัสฮาร์ดแวร์ AES-256 และสิทธิ์แบบละเอียด
  • การซิงโครไนซ์ ระหว่างอุปกรณ์ Apple เกิดขึ้นผ่าน iCloud ด้วยความล่าช้าน้อยกว่า 30 วินาที
  • การรวม ต้องตั้งค่า entitlements ใน Xcode และคำขออนุญาตที่จำเป็นจากผู้ใช้
  • ความปลอดภัยของ HealthKit ถูกควบคุมผ่านการตั้งค่าความเป็นส่วนตัวของระบบและนโยบาย App Store

เราจะพัฒนาแอปพลิเคชันบนมือถือแบบครบวงจร

IT Sectr สร้างแอปพลิเคชัน iOS และ Android สำหรับสตาร์ทอัพและธุรกิจตั้งแต่ปี 2017 เราจะให้คำแนะนำและเสนอวิธีแก้ปัญหาที่ดีที่สุดแก่คุณ

ปรึกษาโครงการ

อ่านเพิ่มเติม