$30 off During Our Annual Pro Sale. View Details »

About HealthKit nutrition

coe
November 14, 2023

About HealthKit nutrition

potatotips #85 iOS/Android開発Tips共有会

coe

November 14, 2023
Tweet

More Decks by coe

Other Decks in Technology

Transcript

  1. ೔޲ڧ
    ͪΌΜͱӫཆΛͱΖ͏
    QPUBUPUJQTJ04"OESPJE։ൃ5JQTڞ༗ձ

    View Slide

  2. ͪΌΜͱӫཆΛͱΖ͏

    View Slide

  3. ͪΌΜͱӫཆΛઁΖ͏

    View Slide

  4. ͪΌΜͱӫཆΛઁΖ͏

    View Slide

  5. ͪΌΜͱӫཆΛऔΖ͏

    View Slide

  6. ӫཆΛͱΔ࿩
    )FBMUI,JU
    OVUSJUJPO

    View Slide

  7. wJ04ΤϯδχΞ
    wͪΐͬͱ͚ͩ"OESPJE
    wגࣜձࣾ"NB[JB
    wौ୩۠ೆฏ୆ொ൪
    ߸"1-"$&ौ୩ೆฏ
    ୆'
    ೔޲ڧ

    View Slide

  8. Ͱ΋

    View Slide

  9. ͪΌΜͱӫཆΛͱΖ͏

    View Slide

  10. ͪΌΜͱӫཆΛͱΖ͏
    ʮࢲɺJ1BE͔ͩΒ
    )FBMUI,JUؔ܎ͳ͍Ͷʯ

    View Slide

  11. IUUQTXXXBQQMFDPNKQJQBEPTJQBEPT

    View Slide

  12. ӫཆͷऔΓํ

    View Slide

  13. ӫཆͷऔΓํ
    ͪΌΜͱӫཆΛͱΖ͏

    View Slide

  14. ӫཆͷऔΓํ
    ͪΌΜͱӫཆΛͱΖ͏
    let store = HKHealthStore()


    // ͱΓ͍ͨӫཆૉΛܾΊΔ


    let dietaries: Set = [


    .init(.dietaryEnergyConsumed),


    .init(.dietaryCarbohydrates),


    .init(.dietaryProtein),


    .init(.dietaryMolybdenum),


    ]


    // ݖݶΛͱΔ


    try await store.requestAuthorization(toShare: dietaries,


    read: dietaries)


    // อଘ͢Δ


    try await store.save(HKObject)


    View Slide

  15. ӫཆͷऔΓํ
    ͪΌΜͱӫཆΛͱΖ͏
    let store = HKHealthStore()


    // ͱΓ͍ͨӫཆૉΛܾΊΔ


    let dietaries: Set = [


    .init(.dietaryEnergyConsumed),


    .init(.dietaryCarbohydrates),


    .init(.dietaryProtein),


    .init(.dietaryMolybdenum),


    ]


    // ݖݶΛͱΔ


    try await store.requestAuthorization(toShare: dietaries,


    read: dietaries)


    // อଘ͢Δ


    try await store.save(HKObject)


    View Slide

  16. w )FBMUI,JUετΞ಺ʹอଘͰ͖ΔσʔλΛද͢DMBTT
    w ௚઀ΠϯελϯεΛ࡞ΒͣαϒΫϥεΛར༻͢Δ
    w ),$BUFHPSZ4BNQMF
    w ),2VBOUJUZ4BNQMF
    w ),$PSSFMBUJPO
    w ),8PSLPVU
    ),0CKFDU
    ͪΌΜͱӫཆΛͱΖ͏

    View Slide

  17. ),0CKFDU
    ͪΌΜͱӫཆΛͱΖ͏
    let molybdenum = HKQuantitySample(type: .init(.dietaryMolybdenum),


    quantity: .init(unit: .gramUnit(with: .micro),


    doubleValue: 85),


    start: .now,


    end: .now)


    try await store.save(molybdenum)


    View Slide

  18. ͪΌΜͱӫཆΛͱΖ͏
    ),0CKFDU

    View Slide

  19. ͪΌΜͱӫཆΛͱΖ͏
    ),0CKFDU
    Αʔ͠ɺϞϦϒσϯΛЖH
    ৯΂ͨͧʔ

    View Slide

  20. ͪΌΜͱӫཆΛͱΖ͏
    let correlation = HKCorrelation(type: .init(.food),


    start: .now,


    end: .now,


    objects: .init(arrayLiteral:


    HKQuantitySample(type: .init(.dietaryMolybdenum),


    quantity: .init(unit: .gramUnit(with: .micro), doubleValue: 85),


    start: .now,


    end: .now),


    HKQuantitySample(type: .init(.dietaryEnergyConsumed),


    quantity: .init(unit: .largeCalorie(), doubleValue: 717),


    start: .now,


    end: .now),


    HKQuantitySample(type: .init(.dietaryCarbohydrates),


    quantity: .init(unit: .gram(), doubleValue: 112),


    start: .now,


    end: .now),


    HKQuantitySample(type: .init(.dietaryProtein),


    quantity: .init(unit: .gram(), doubleValue: 18),


    start: .now,


    end: .now)),


    metadata: [HKMetadataKeyFoodType: "ڇက"])


    try await store.save(correlation)


    ),$PSSFMBUJPOͰؔ࿈෇͚

    View Slide

  21. w )FBMUI,JU಺ͷɺه࿥Ͱ͖ΔҰͭͷܕͷ਺ྔΛද͢
    w ֤छӫཆ͸EJFUBSZӳޠͰදͤΒΕΔ
    w EJFUBSZ7JUBNJO"Ϗλϛϯ"
    w EJFUBSZ*SPOమ෼
    ӫཆͷ),2VBOUJUZ5ZQF*EFOUJ
    fi
    FS
    ͪΌΜͱӫཆΛͱΖ͏

    View Slide

  22. ͔ΜͨΜʂ

    View Slide

  23. ஫ҙ͢΂͖ӫཆૉ

    View Slide

  24. ͪΌΜͱӫཆΛͱΖ͏
    ஫ҙ͢΂͖ӫཆૉ

    View Slide

  25. w φτϦ΢Ϝ
    ஫ҙ͢΂͖ӫཆૉ
    ͪΌΜͱӫཆΛͱΖ͏

    View Slide

  26. w φτϦ΢Ϝ
    w EJFUBSZ/BUSJVN
    ஫ҙ͢΂͖ӫཆૉ
    ͪΌΜͱӫཆΛͱΖ͏

    View Slide

  27. w φτϦ΢Ϝ
    w EJFUBSZ4PEJVN
    w φτϦ΢Ϝ͸ιδ΢Ϝ
    ஫ҙ͢΂͖ӫཆૉ
    ͪΌΜͱӫཆΛͱΖ͏

    View Slide

  28. w ΧϦ΢Ϝ
    ஫ҙ͢΂͖ӫཆૉ
    ͪΌΜͱӫཆΛͱΖ͏

    View Slide

  29. w ΧϦ΢Ϝ
    w EJFUBSZ1PUBTTJVN
    w ΧϦ΢Ϝ͸ϙλγ΢Ϝ
    ஫ҙ͢΂͖ӫཆૉ
    ͪΌΜͱӫཆΛͱΖ͏

    View Slide

  30. w Ϗλϛϯ#⒪
    ஫ҙ͢΂͖ӫཆૉ
    ͪΌΜͱӫཆΛͱΖ͏

    View Slide

  31. w Ϗλϛϯ#⒪
    w EJFUBSZ3JCP
    fl
    BWJO
    w Ϗλϛϯ#⒪͸ϦϘϑϥϏϯ
    ஫ҙ͢΂͖ӫཆૉ
    ͪΌΜͱӫཆΛͱΖ͏

    View Slide

  32. w Ϧϯ
    ஫ҙ͢΂͖ӫཆૉ
    ͪΌΜͱӫཆΛͱΖ͏

    View Slide

  33. View Slide

  34. w Ϧϯ
    w EJFUBSZ3JO
    ஫ҙ͢΂͖ӫཆૉ
    ͪΌΜͱӫཆΛͱΖ͏

    View Slide

  35. View Slide

  36. w Ϧϯ ྜྷ

    w EJFUBSZ1IPTQIPSVT
    ஫ҙ͢΂͖ӫཆૉ
    ͪΌΜͱӫཆΛͱΖ͏

    View Slide

  37. w ਫ෼
    ஫ҙ͢΂͖ӫཆૉ
    ͪΌΜͱӫཆΛͱΖ͏

    View Slide

  38. w ਫ෼
    w EJFUBSZ8BUFS
    ஫ҙ͢΂͖ӫཆૉ
    ͪΌΜͱӫཆΛͱΖ͏

    View Slide

  39. w ਫ෼
    w EJFUBSZ8BUFS
    w ొ࿥͢Δͱ͖͸ɺମੵͰొ࿥͠ͳ͍ͱΫϥογϡ͢Δ
    w ࠓ·Ͱͷӫཆૉ͸࣭ྔͰొ࿥͢Δ
    ஫ҙ͢΂͖ӫཆૉ
    ͪΌΜͱӫཆΛͱΖ͏

    View Slide

  40. w ࢷ࣭
    w ̏େӫཆૉͷҰͭ
    w ೔ຊͰ͸දࣔٛ຿͋Γ
    ஫ҙ͢΂͖ӫཆૉ
    ͪΌΜͱӫཆΛͱΖ͏

    View Slide

  41. View Slide

  42. w ࢷ࣭
    w ̏େӫཆૉͷҰͭ
    w ೔ຊͰ͸දࣔٛ຿͋Γ
    w )FBMUI,JUʹ͸ࢷ࣭ͱ͍͏߲໨ͳ͠
    ஫ҙ͢΂͖ӫཆૉ
    ͪΌΜͱӫཆΛͱΖ͏

    View Slide

  43. w ࢷ࣭
    w ̏େӫཆૉͷҰͭ
    w ೔ຊͰ͸දࣔٛ຿͋Γ
    w )FBMUI,JUʹ͸ࢿ࣭ͱ͍͏߲໨߲໨ͳ͠
    w EJFUBSZ'BU5PUBM ૯ࢷ๱
    ͱͯ͠ొ࿥͢Δ
    w ૯ࢷ๱͸৯඼ʹؚ·ΕΔࢷ࣭ͷ૯ྔΛද͍ͯ͠Δ
    w ࢷ࣭ͷ಺༁ʹ֤छࢷ๱ࢎؚ͕·ΕΔ
    ஫ҙ͢΂͖ӫཆૉ
    ͪΌΜͱӫཆΛͱΖ͏

    View Slide

  44. w ৯Ԙ૬౰ྔ
    w ೔ຊͰ͸දࣔٛ຿͋Γ
    w )FBMUI,JUʹ͸߲໨ͳ͠
    ஫ҙ͢΂͖ӫཆૉ
    ͪΌΜͱӫཆΛͱΖ͏

    View Slide

  45. w ৯Ԙ૬౰ྔ
    w ೔ຊͰ͸දࣔٛ຿͋Γ
    w )FBMUI,JUʹ͸߲໨ͳ͠
    w φτϦ΢Ϝ EJFUBSZ4PEJVN
    ͔Βࢉग़Մೳ
    w EJFUBSZ4PEJVN NH
    ৯Ԙ૬౰ྔ
    ஫ҙ͢΂͖ӫཆૉ
    ͪΌΜͱӫཆΛͱΖ͏

    View Slide

  46. w J1BE04͔ΒϔϧεέΞؚ͕·ΕΔΑ͏ʹͳͬͨ
    w φτϦ΢Ϝ͸ιδ΢Ϝ
    w ΧϦ΢Ϝ͸ϙλγ΢Ϝ
    w Ϗλϛϯ#⒪͸ϦϘϑϥϏϯ
    w ࢷ࣭͸૯ࢷ๱
    w φτϦ΢Ϝ NH
    ৯Ԙ૬౰ྔ
    ·ͱΊ
    ͪΌΜͱӫཆΛͱΖ͏

    View Slide

  47. w ফඅऀி
    w ӫཆ੒෼දࣔʹ͍ͭͯ
    w IUUQTXXXDBBHPKQQPMJDJFTQPMJDZGPPE@MBCFMJOHOVUSJFOU@EFDMFBSBUJPO
    w ӫཆ੒෼දࣔΛ࢖ͬͯɺ͋ͳͨ΋৯ԘઁऔྔΛݮΒͤΔ
    w IUUQTXXXDBBHPKQQPMJDJFTQPMJDZGPPE@MBCFMJOHIFBMUI@QSPNPUJPOQEG
    GPPE@MBCFMJOH@DNT@@QEG
    w ಺ֳ෎ϗʔϜϖʔδ
    w ӫཆ੒෼දࣔݕ౼ձใࠂॻ
    w IUUQTXXXDBPHPKQDPOTVNFSIJTUPSZLBCVTPTIJLJPUIFSNFFUJOH
    EPD@TBOLPVQEG
    ࢀߟαΠτ
    ͪΌΜͱӫཆΛͱΖ͏

    View Slide