Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
HealthKitをSwift4でいじってみた
Search
studioshin
April 21, 2018
Programming
0
580
HealthKitをSwift4でいじってみた
第77回Cocoa勉強会関西
studioshin
April 21, 2018
Tweet
Share
More Decks by studioshin
See All by studioshin
アドフリくんSDKをSwift4で組み込む
studioshin
0
320
8年前にObjective-Cで書いたアプリをゼロからSwift3で書き直した話
studioshin
0
390
Other Decks in Programming
See All in Programming
愛される翻訳の秘訣
kishikawakatsumi
3
320
複数人でのCLI/Infrastructure as Codeの暮らしを良くする
shmokmt
5
2.3k
AIコーディングエージェント(Gemini)
kondai24
0
220
Rediscover the Console - SymfonyCon Amsterdam 2025
chalasr
2
160
C-Shared Buildで突破するAI Agent バックテストの壁
po3rin
0
390
リリース時」テストから「デイリー実行」へ!開発マネージャが取り組んだ、レガシー自動テストのモダン化戦略
goataka
0
130
AIコードレビューがチームの"文脈"を 読めるようになるまで
marutaku
0
350
Giselleで作るAI QAアシスタント 〜 Pull Requestレビューに継続的QAを
codenote
0
190
LLM Çağında Backend Olmak: 10 Milyon Prompt'u Milisaniyede Sorgulamak
selcukusta
0
120
チームをチームにするEM
hitode909
0
330
20251212 AI 時代的 Legacy Code 營救術 2025 WebConf
mouson
0
150
組み合わせ爆発にのまれない - 責務分割 x テスト
halhorn
1
150
Featured
See All Featured
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
1.8k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
55
3.1k
Agile that works and the tools we love
rasmusluckow
331
21k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
34k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.3k
GitHub's CSS Performance
jonrohan
1032
470k
Bootstrapping a Software Product
garrettdimon
PRO
307
120k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
61k
Side Projects
sachag
455
43k
Producing Creativity
orderedlist
PRO
348
40k
Learning to Love Humans: Emotional Interface Design
aarron
274
41k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
7.9k
Transcript
HealthKitΛ Swift4Ͱ͍ͬͯ͡Έͨ ୈ77ճ Cocoaษڧձؔ 20184݄14 @studioshin
ࣗݾհ ϑϦʔͰiOS/MacΞϓϦ։ൃͬͯ·͢ ଜ ਅೋ STUDIO SHIN @studioshin Twitter: Cocoaษڧձؔɹද
͜ΜͳຊΛॻ͍ͯ·͢ɻ
)FBMUI,JUͱʁ J04͔ΒՃ͞Εͨɺ݈߁ؔ࿈ͷσʔλΛ औΓѻ͏ϑϨʔϜϫʔΫɻ ʰϔϧεέΞʱΞϓϦΛத৺ʹɺϢʔβʔͷ ɺମॏɺาɺΞΫςϏςΟɺফඅΧϩ ϦʔͳͲΛऔΓ·ͱΊΔσʔλϕʔεɻ σʔλʹαʔυύʔςΟΞϓϦ͔ΒΞΫ ηεՄೳɻʢରԠΞϓϦʹϓϥΠόγʔϙ Ϧγʔͷද͕͚ࣔٛΒΕΔʣ
)FBMUI,JUͬͯΈΑ͏ͱࢥͬͨཧ༝ ࣄͰ)FBMUI,JUରԠΞϓϦΛ࡞Δ͜ͱʹͳͬͨɻ ࣌ؒͳ͔ͬͨͷͰɺӳޠͷυΩϡϝϯτಡΈ ࠐ·ͳ͍ͰຊޠهࣄΛάάͬͯΈͨɻ ৽نΞϓϦͳͷͰɺવJ04 9DPEF 4XJGUͰ࡞Δɻ ৽͍͠Ϋϥεܕ͕ΊͬͪΌଟ͍ͧʂʁ ?@? ղઆهࣄJ04ͱ͔4XJGU͕ଟ͍ʂ
IUUQTEFWDMBTTNFUIPEKQSFGFSFODFTJPTIFBMUILJUBQQ ओʹࢀߟʹ͍ͤͯͨ͞هࣄͪ͜Βɻ
)FBMUI,JUͷ֓ཁ "QQ )FBMUI,JU )FBMUI,JUͷσʔλ͕ཉ͍͠ʂ
)FBMUI,JUͷ֓ཁ "QQ )FBMUI,JU ),)FBMUI4UPSF )FBMUI,JU͞·ʹɺ Θ͠Λ௨ͯ͠Λ͢Δͷ͡Όʂ ྑ͖ʹ͔Β͑
)FBMUI,JUͷ֓ཁ "QQ )FBMUI,JU ),)FBMUI4UPSF ॻ͖ࠐΈ ಡΈࠐΈ σʔλΛ ಡΈࠐΈ͍ͨʂ ॻ͖ࠐΈ͍ͨʂ
)FBMUI,JUͷ֓ཁ "QQ )FBMUI,JU ),)FBMUI4UPSF ॻ͖ࠐΈ ಡΈࠐΈ Ϣʔβʔ༷ɺ ͍͔͕͍ͨ͠·͔͢ʁ Ϣʔβʔ
)FBMUI,JUͷ֓ཁ "QQ )FBMUI,JU ),)FBMUI4UPSF ॻ͖ࠐΈ ಡΈࠐΈ Ϣʔβʔ ڐՄ ! ͍͍Αʂ
)FBMUI,JUͷ֓ཁ "QQ )FBMUI,JU ॻ͖ࠐΈ ಡΈࠐΈ ),)FBMUI4UPSF
)FBMUI,JUͷ֓ཁ "QQ )FBMUI,JU ॻ͖ࠐΈ ಡΈࠐΈ ),)FBMUI4UPSF ),2VFSZ ),4BNQMF
)FBMUI,JUͷ֓ཁ "QQ )FBMUI,JU ॻ͖ࠐΈ ಡΈࠐΈ ),)FBMUI4UPSF ),0CKFDU ),0CKFDU ඇಉظ
)FBMUI,JUͰѻ͑Δओͳσʔλ ˙Ϣʔβʔͷମσʔλ )FBMUI,JUͷ֓ཁ ˙ଌఆσʔλ ˙ΧςΰϦʔσʔλ ݂ӷܕɺੜ݄ɺੑผɺഽɺंҜࢠ༻ ɺମॏɺาɺ݂ѹɺͳͲʜ ਭɺελϯυ࣌ؒɺੑߦҝɹͳͲʜ
),)FBMUI4UPSF )FBMUI,JUͷอޢྖҬͷΞΫηεΛհ͢ ΔΫϥεɻ σʔλΞΫηεͷڐՄɺಡΈॻ͖͜ͷ ΫϥεΛ௨ͯ͡ߦ͏ɻ )FBMUI,JUͷ֓ཁ
),0CKFDU )FBMUI,JUͱσʔλΛΓऔΓ͢ΔͨΊͷΫ ϥεɻ ಡΈॻ͖ʹԠ͍͔ͯͭ͘͡ͷαϒΫϥε͕ ͋ΓɺͦͷαϒΫϥεΛ௨ͯ͡)FBMUI,JUͱ σʔλΛΓऔΓ͢Δɻ )FBMUI,JUͷ֓ཁ
),0CKFDUͷαϒΫϥε )FBMUI,JU͔ΒσʔλΛಡΈࠐΉࡍʹ༻͢ ΔΫϥεɻσʔλͷछྨʹԠ͍͔ͯͭ͘͡ ͷαϒΫϥε͕͋Δɻ )FBMUI,JUͷ֓ཁ ),2VFSZ
),0CKFDUͷαϒΫϥε ),)FBMUI4UPSFʹσʔλΛ͍߹ΘͤΔΫϥεɻ )FBMUI,JUͷ֓ཁ ),2VFSZͷओͳαϒΫϥε ),4BNQMF2VFSZ ),4UBUJTUJDT2VFSZ ౷ܭσʔλΛऔಘ͢ΔͨΊͷΫϥεɻ ),4UBUJTUJDT$PMMFDUJPO2VFSZ ࿈ଓͨ͠౷ܭσʔλΛऔಘ͢ΔͨΊͷΫϥεɻ
),0CKFDUͷαϒΫϥε )FBMUI,JUʹσʔλΛॻ͖ࠐΉࡍʹ࡞͢Δ ΫϥεɻσʔλͷछྨʹԠ͍͔ͯͭ͘͡ͷ αϒΫϥε͕͋Δɻ )FBMUI,JUͷ֓ཁ ),4BNQMF
),0CKFDUͷαϒΫϥε ྔͰද͞ΕΔσʔλΛѻ͏ɻ )FBMUI,JUͷ֓ཁ ),4BNQMFͷओͳαϒΫϥε ),2VBOUJUZ4BNQMF ),$BUFHPSZ4BNQMF ΧςΰϦʔͰද͞ΕΔσʔλΛѻ͏ɻ
),6OJU ୯ҐΛද͢Ϋϥεɻ ηϯνϝʔτϧɺάϥϜɺΧϩϦʔɹͳͲʜ )FBMUI,JUͷ֓ཁ ),0CKFDU5ZQF σʔλͷछྨΛද͢Ϋϥεɻ ɺମॏɺڑɺาɹͳͲʜ ͜ΕΒͷΫϥεɺαϒΫϥεͰѻ͏σʔλΛ ಛఆ͢Δɻ
)FBMUI,JUରԠΞϓϦͷ࡞Γํ "QQ*%༗ޮαʔϏεͰ)FBMUI,JUʹνΣοΫΛೖΕΔɻ
)FBMUI,JUରԠΞϓϦͷ࡞Γํ $BQBCJMJUJFTͰ)FBMUI,JUΛ0/ʹ͢Δɻ શͯʹνΣοΫ͕͘ ͷΛ֬ೝʂ
)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. } }
)FBMUI,JUରԠΞϓϦͷ࡞Γํ *OGPQMJTUʹ)FBMUI,JUͷΩʔΛه͢Δɻ LFZ/4)FBMUI4IBSF6TBHF%FTDSJQUJPOLFZTUSJOH6TF)FBMUI,JUTUSJOH LFZ/4)FBMUI6QEBUF6TBHF%FTDSJQUJPOLFZTUSJOH6TF)FBMUI,JUTUSJOH
͜ΕͰجຊతͳ ४උྃʂ