Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
HealthKitをSwift4でいじってみた
Search
studioshin
April 21, 2018
Programming
0
590
HealthKitをSwift4でいじってみた
第77回Cocoa勉強会関西
studioshin
April 21, 2018
Tweet
Share
More Decks by studioshin
See All by studioshin
アドフリくんSDKをSwift4で組み込む
studioshin
0
330
8年前にObjective-Cで書いたアプリをゼロからSwift3で書き直した話
studioshin
0
390
Other Decks in Programming
See All in Programming
AI Agent Tool のためのバックエンドアーキテクチャを考える #encraft
izumin5210
6
1.5k
Context is King? 〜Verifiability時代とコンテキスト設計 / Beyond "Context is King"
rkaga
10
1.5k
LLM Çağında Backend Olmak: 10 Milyon Prompt'u Milisaniyede Sorgulamak
selcukusta
0
140
Implementation Patterns
denyspoltorak
0
140
re:Invent 2025 のイケてるサービスを紹介する
maroon1st
0
160
AI前提で考えるiOSアプリのモダナイズ設計
yuukiw00w
0
210
生成AI時代を勝ち抜くエンジニア組織マネジメント
coconala_engineer
0
37k
例外処理とどう使い分ける?Result型を使ったエラー設計 #burikaigi
kajitack
15
3.9k
Denoのセキュリティに関する仕組みの紹介 (toranoana.deno #23)
uki00a
0
220
AIによるイベントストーミング図からのコード生成 / AI-powered code generation from Event Storming diagrams
nrslib
1
870
Deno Tunnel を使ってみた話
kamekyame
0
310
AIエージェントの設計で注意するべきポイント6選
har1101
6
2.9k
Featured
See All Featured
Git: the NoSQL Database
bkeepers
PRO
432
66k
Learning to Love Humans: Emotional Interface Design
aarron
274
41k
Unlocking the hidden potential of vector embeddings in international SEO
frankvandijk
0
140
RailsConf 2023
tenderlove
30
1.3k
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
420
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
2
130
Jamie Indigo - Trashchat’s Guide to Black Boxes: Technical SEO Tactics for LLMs
techseoconnect
PRO
0
37
WCS-LA-2024
lcolladotor
0
400
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
34
Writing Fast Ruby
sferik
630
62k
A Tale of Four Properties
chriscoyier
162
23k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.1k
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
͜ΕͰجຊతͳ ४උྃʂ