Slide 1

Slide 1 text

HealthKitΛ Swift4Ͱ͍ͬͯ͡Έͨ ୈ77ճ Cocoaษڧձؔ੢ 2018೥4݄14೔ @studioshin

Slide 2

Slide 2 text

ࣗݾ঺հ ϑϦʔͰiOS/MacΞϓϦ։ൃ΍ͬͯ·͢ ๺ଜ ਅೋ STUDIO SHIN @studioshin Twitter: Cocoaษڧձؔ੢ɹ୅ද

Slide 3

Slide 3 text

͜ΜͳຊΛॻ͍ͯ·͢ɻ

Slide 4

Slide 4 text

)FBMUI,JUͱ͸ʁ J04͔Β௥Ճ͞Εͨɺ݈߁ؔ࿈ͷσʔλΛ औΓѻ͏ϑϨʔϜϫʔΫɻ ʰϔϧεέΞʱΞϓϦΛத৺ʹɺϢʔβʔͷ ਎௕ɺମॏɺา਺ɺΞΫςϏςΟɺফඅΧϩ ϦʔͳͲΛऔΓ·ͱΊΔσʔλϕʔεɻ σʔλʹ͸αʔυύʔςΟΞϓϦ͔Β΋ΞΫ ηεՄೳɻʢରԠΞϓϦʹ͸ϓϥΠόγʔϙ Ϧγʔͷද͕ࣔٛ຿෇͚ΒΕΔʣ

Slide 5

Slide 5 text

)FBMUI,JU΍ͬͯΈΑ͏ͱࢥͬͨཧ༝ ࢓ࣄͰ)FBMUI,JUରԠΞϓϦΛ࡞Δ͜ͱʹͳͬͨɻ ࣌ؒͳ͔ͬͨͷͰɺӳޠͷυΩϡϝϯτಡΈ ࠐ·ͳ͍Ͱ೔ຊޠهࣄΛάάͬͯΈͨɻ ৽نΞϓϦͳͷͰɺ౰વJ04 9DPEF 4XJGUͰ࡞Δɻ ৽͍͠Ϋϥε΍ܕ͕ΊͬͪΌଟ͍ͧʂʁ ?@? ղઆهࣄ͸J04ͱ͔4XJGU͕ଟ͍ʂ

Slide 6

Slide 6 text

IUUQTEFWDMBTTNFUIPEKQSFGFSFODFTJPTIFBMUILJUBQQ ओʹࢀߟʹͤͯ͞௖͍ͨهࣄ͸ͪ͜Βɻ

Slide 7

Slide 7 text

)FBMUI,JUͷ֓ཁ "QQ )FBMUI,JU )FBMUI,JUͷσʔλ͕ཉ͍͠ʂ

Slide 8

Slide 8 text

)FBMUI,JUͷ֓ཁ "QQ )FBMUI,JU ),)FBMUI4UPSF )FBMUI,JU͞·ʹ͸ɺ Θ͠Λ௨ͯ͠࿩Λ͢Δͷ͡Όʂ ྑ͖ʹ͸͔Β͑

Slide 9

Slide 9 text

)FBMUI,JUͷ֓ཁ "QQ )FBMUI,JU ),)FBMUI4UPSF ॻ͖ࠐΈ ಡΈࠐΈ σʔλΛ ಡΈࠐΈ͍ͨʂ ॻ͖ࠐΈ͍ͨʂ

Slide 10

Slide 10 text

)FBMUI,JUͷ֓ཁ "QQ )FBMUI,JU ),)FBMUI4UPSF ॻ͖ࠐΈ ಡΈࠐΈ Ϣʔβʔ༷ɺ ͍͔͕͍ͨ͠·͔͢ʁ Ϣʔβʔ

Slide 11

Slide 11 text

)FBMUI,JUͷ֓ཁ "QQ )FBMUI,JU ),)FBMUI4UPSF ॻ͖ࠐΈ ಡΈࠐΈ Ϣʔβʔ ڐՄ ! ͍͍Αʂ

Slide 12

Slide 12 text

)FBMUI,JUͷ֓ཁ "QQ )FBMUI,JU ॻ͖ࠐΈ ಡΈࠐΈ ),)FBMUI4UPSF

Slide 13

Slide 13 text

)FBMUI,JUͷ֓ཁ "QQ )FBMUI,JU ॻ͖ࠐΈ ಡΈࠐΈ ),)FBMUI4UPSF ),2VFSZ ),4BNQMF

Slide 14

Slide 14 text

)FBMUI,JUͷ֓ཁ "QQ )FBMUI,JU ॻ͖ࠐΈ ಡΈࠐΈ ),)FBMUI4UPSF ),0CKFDU ),0CKFDU ඇಉظ

Slide 15

Slide 15 text

)FBMUI,JUͰѻ͑Δओͳσʔλ ˙Ϣʔβʔͷ਎ମσʔλ )FBMUI,JUͷ֓ཁ ˙ଌఆσʔλ ˙ΧςΰϦʔσʔλ ݂ӷܕɺੜ೥݄೔ɺੑผɺഽɺंҜࢠ࢖༻ ਎௕ɺମॏɺา਺ɺ݂ѹɺͳͲʜ ਭ຾ɺελϯυ࣌ؒɺੑߦҝɹͳͲʜ

Slide 16

Slide 16 text

),)FBMUI4UPSF )FBMUI,JUͷอޢྖҬ΁ͷΞΫηεΛ஥հ͢ ΔΫϥεɻ σʔλΞΫηεͷڐՄɺಡΈॻ͖͸͸͜ͷ ΫϥεΛ௨ͯ͡ߦ͏ɻ )FBMUI,JUͷ֓ཁ

Slide 17

Slide 17 text

),0CKFDU )FBMUI,JUͱσʔλΛ΍ΓऔΓ͢ΔͨΊͷΫ ϥεɻ ಡΈॻ͖ʹԠ͍͔ͯͭ͘͡ͷαϒΫϥε͕ ͋ΓɺͦͷαϒΫϥεΛ௨ͯ͡)FBMUI,JUͱ σʔλΛ΍ΓऔΓ͢Δɻ )FBMUI,JUͷ֓ཁ

Slide 18

Slide 18 text

),0CKFDUͷαϒΫϥε )FBMUI,JU͔ΒσʔλΛಡΈࠐΉࡍʹ࢖༻͢ ΔΫϥεɻσʔλͷछྨʹԠ͍͔ͯͭ͘͡ ͷαϒΫϥε͕͋Δɻ )FBMUI,JUͷ֓ཁ ),2VFSZ

Slide 19

Slide 19 text

),0CKFDUͷαϒΫϥε ),)FBMUI4UPSFʹσʔλΛ໰͍߹ΘͤΔΫϥεɻ )FBMUI,JUͷ֓ཁ ),2VFSZͷओͳαϒΫϥε ),4BNQMF2VFSZ ),4UBUJTUJDT2VFSZ ౷ܭσʔλΛऔಘ͢ΔͨΊͷΫϥεɻ ),4UBUJTUJDT$PMMFDUJPO2VFSZ ࿈ଓͨ͠౷ܭσʔλΛऔಘ͢ΔͨΊͷΫϥεɻ

Slide 20

Slide 20 text

),0CKFDUͷαϒΫϥε )FBMUI,JUʹσʔλΛॻ͖ࠐΉࡍʹ࡞੒͢Δ ΫϥεɻσʔλͷछྨʹԠ͍͔ͯͭ͘͡ͷ αϒΫϥε͕͋Δɻ )FBMUI,JUͷ֓ཁ ),4BNQMF

Slide 21

Slide 21 text

),0CKFDUͷαϒΫϥε ྔ΍਺஋Ͱද͞ΕΔσʔλΛѻ͏ɻ )FBMUI,JUͷ֓ཁ ),4BNQMFͷओͳαϒΫϥε ),2VBOUJUZ4BNQMF ),$BUFHPSZ4BNQMF ΧςΰϦʔͰද͞ΕΔσʔλΛѻ͏ɻ

Slide 22

Slide 22 text

),6OJU ୯ҐΛද͢Ϋϥεɻ ηϯνϝʔτϧɺάϥϜɺΧϩϦʔɹͳͲʜ )FBMUI,JUͷ֓ཁ ),0CKFDU5ZQF σʔλͷछྨΛද͢Ϋϥεɻ ਎௕ɺମॏɺڑ཭ɺา਺ɹͳͲʜ ͜ΕΒͷΫϥεɺαϒΫϥεͰѻ͏σʔλΛ ಛఆ͢Δɻ

Slide 23

Slide 23 text

)FBMUI,JUରԠΞϓϦͷ࡞Γํ "QQ*%༗ޮαʔϏεͰ)FBMUI,JUʹνΣοΫΛೖΕΔɻ

Slide 24

Slide 24 text

)FBMUI,JUରԠΞϓϦͷ࡞Γํ $BQBCJMJUJFTͰ)FBMUI,JUΛ0/ʹ͢Δɻ શͯʹνΣοΫ͕෇͘ ͷΛ֬ೝʂ

Slide 25

Slide 25 text

)FBMUI,JUରԠΞϓϦͷ࡞Γํ ιʔείʔυʹ)FBMUI,JUΛΠϯϙʔτ͢Δɻ import UIKit import HealthKit class ViewController: UIViewController { override func viewDidLoad() { super.viewDidLoad() // Do any additional setup after loading the view, typically } override func didReceiveMemoryWarning() { super.didReceiveMemoryWarning() // Dispose of any resources that can be recreated. } }

Slide 26

Slide 26 text

)FBMUI,JUରԠΞϓϦͷ࡞Γํ *OGPQMJTUʹ)FBMUI,JUͷΩʔΛ௥ه͢Δɻ LFZ/4)FBMUI4IBSF6TBHF%FTDSJQUJPOLFZTUSJOH6TF)FBMUI,JUTUSJOH LFZ/4)FBMUI6QEBUF6TBHF%FTDSJQUJPOLFZTUSJOH6TF)FBMUI,JUTUSJOH

Slide 27

Slide 27 text

͜ΕͰجຊతͳ ४උ͸׬ྃʂ