Enviar pesquisa
Carregar
HealthKitで日別のデータを一度に取得する
•
4 gostaram
•
6,509 visualizações
今城 善矩
Seguir
FiNC社開催のpotatotips 23で話した資料です http://connpass.com/event/21750/
Leia menos
Leia mais
Tecnologia
Denunciar
Compartilhar
Denunciar
Compartilhar
1 de 28
Baixar agora
Baixar para ler offline
Recomendados
ネットストーカー御用達OSINTツールBlackBirdを触ってみた.pptx
ネットストーカー御用達OSINTツールBlackBirdを触ってみた.pptx
Shota Shinogi
「のどが渇いた」というユーザーに何を出す? ユーザーの「欲しい」に惑わされない、本当のインサイトを見つけるUXデザイン・UXリサーチ
「のどが渇いた」というユーザーに何を出す? ユーザーの「欲しい」に惑わされない、本当のインサイトを見つけるUXデザイン・UXリサーチ
Yoshiki Hayama
CIが分からないPE(SETエンジニア)の1年生がWebAPIの負荷テストを背伸びしてCI運用した
CIが分からないPE(SETエンジニア)の1年生がWebAPIの負荷テストを背伸びしてCI運用した
ssuser0be501
Androidにおける歩数取得とバックグラウンド制限
Androidにおける歩数取得とバックグラウンド制限
Kensuke Izumi
シリコンバレーの「何が」凄いのか
シリコンバレーの「何が」凄いのか
Atsushi Nakada
こわくない Git
こわくない Git
Kota Saito
「スキルなし・実績なし」 32歳窓際エンジニアがシリコンバレーで働くようになるまで
「スキルなし・実績なし」 32歳窓際エンジニアがシリコンバレーで働くようになるまで
Shuichi Tsutsumi
ChatGPT 人間のフィードバックから強化学習した対話AI
ChatGPT 人間のフィードバックから強化学習した対話AI
Shota Imai
Recomendados
ネットストーカー御用達OSINTツールBlackBirdを触ってみた.pptx
ネットストーカー御用達OSINTツールBlackBirdを触ってみた.pptx
Shota Shinogi
「のどが渇いた」というユーザーに何を出す? ユーザーの「欲しい」に惑わされない、本当のインサイトを見つけるUXデザイン・UXリサーチ
「のどが渇いた」というユーザーに何を出す? ユーザーの「欲しい」に惑わされない、本当のインサイトを見つけるUXデザイン・UXリサーチ
Yoshiki Hayama
CIが分からないPE(SETエンジニア)の1年生がWebAPIの負荷テストを背伸びしてCI運用した
CIが分からないPE(SETエンジニア)の1年生がWebAPIの負荷テストを背伸びしてCI運用した
ssuser0be501
Androidにおける歩数取得とバックグラウンド制限
Androidにおける歩数取得とバックグラウンド制限
Kensuke Izumi
シリコンバレーの「何が」凄いのか
シリコンバレーの「何が」凄いのか
Atsushi Nakada
こわくない Git
こわくない Git
Kota Saito
「スキルなし・実績なし」 32歳窓際エンジニアがシリコンバレーで働くようになるまで
「スキルなし・実績なし」 32歳窓際エンジニアがシリコンバレーで働くようになるまで
Shuichi Tsutsumi
ChatGPT 人間のフィードバックから強化学習した対話AI
ChatGPT 人間のフィードバックから強化学習した対話AI
Shota Imai
人は一ヶ月でエンジニアになれるのか - 詳細解説
人は一ヶ月でエンジニアになれるのか - 詳細解説
Livesense Inc.
【Unite Tokyo 2019】「今からでも大丈夫。Vuforia EngineでつくるAR の世界」
【Unite Tokyo 2019】「今からでも大丈夫。Vuforia EngineでつくるAR の世界」
UnityTechnologiesJapan002
xR Developerなら知っておきたいカメラの基礎知識
xR Developerなら知っておきたいカメラの基礎知識
Satoshi Maemoto
例外設計における大罪
例外設計における大罪
Takuto Wada
Using or not using magic onion
Using or not using magic onion
Goichi Shinohara
「UXデザインとは」からはじめる「本流」のUXデザインはじめの一歩 | UXデザイン基礎セミナー 第1回
「UXデザインとは」からはじめる「本流」のUXデザインはじめの一歩 | UXデザイン基礎セミナー 第1回
Yoshiki Hayama
いつやるの?Git入門 v1.1.0
いつやるの?Git入門 v1.1.0
Masakazu Matsushita
STAC2023 テストケースの自動生成に生成AI導入を検討してみた STAC2023
STAC2023 テストケースの自動生成に生成AI導入を検討してみた STAC2023
Satoshi Sakashita
5分で出来る!イケてるconfluenceページ
5分で出来る!イケてるconfluenceページ
CLARA ONLINE, Inc.
経営のアジリティを支えるDevOpsと組織
経営のアジリティを支えるDevOpsと組織
Recruit Technologies
OpenXR + XR Interaction Toolkit使ったHoloLensコンテンツ開発検証 ~ (私が)完全に理解できたらちゃんと作れて、いろ...
OpenXR + XR Interaction Toolkit使ったHoloLensコンテンツ開発検証 ~ (私が)完全に理解できたらちゃんと作れて、いろ...
Takahiro Miyaura
アジャイル開発はWhyから始まる
アジャイル開発はWhyから始まる
toshihiro ichitani
オーバーエンジニアリングって何? #devsumi #devsumiA
オーバーエンジニアリングって何? #devsumi #devsumiA
Ore Product
CIが分からないPE(SETエンジニア)1年生がVRT(ビジュアルリグレッションテスト)をハードル低くCIを運用した
CIが分からないPE(SETエンジニア)1年生がVRT(ビジュアルリグレッションテスト)をハードル低くCIを運用した
ssuser0be501
あなたはPO?PM?PdM?PjM?
あなたはPO?PM?PdM?PjM?
大貴 蜂須賀
ソーシャルゲームにレコメンドエンジンを導入した話
ソーシャルゲームにレコメンドエンジンを導入した話
Tokoroten Nakayama
ChatGPTは思ったほど賢くない
ChatGPTは思ったほど賢くない
Carnot Inc.
MagicOnion入門
MagicOnion入門
torisoup
シェーダだけで世界を創る!three.jsによるレイマーチング
シェーダだけで世界を創る!three.jsによるレイマーチング
Sho Hosoda
コンセプトから理解するGitコマンド
コンセプトから理解するGitコマンド
ktateish
Xcode7時代のアプリ配布
Xcode7時代のアプリ配布
toyship
Swift Scriptingのすゝめ
Swift Scriptingのすゝめ
Yuichiro Takahashi
Mais conteúdo relacionado
Mais procurados
人は一ヶ月でエンジニアになれるのか - 詳細解説
人は一ヶ月でエンジニアになれるのか - 詳細解説
Livesense Inc.
【Unite Tokyo 2019】「今からでも大丈夫。Vuforia EngineでつくるAR の世界」
【Unite Tokyo 2019】「今からでも大丈夫。Vuforia EngineでつくるAR の世界」
UnityTechnologiesJapan002
xR Developerなら知っておきたいカメラの基礎知識
xR Developerなら知っておきたいカメラの基礎知識
Satoshi Maemoto
例外設計における大罪
例外設計における大罪
Takuto Wada
Using or not using magic onion
Using or not using magic onion
Goichi Shinohara
「UXデザインとは」からはじめる「本流」のUXデザインはじめの一歩 | UXデザイン基礎セミナー 第1回
「UXデザインとは」からはじめる「本流」のUXデザインはじめの一歩 | UXデザイン基礎セミナー 第1回
Yoshiki Hayama
いつやるの?Git入門 v1.1.0
いつやるの?Git入門 v1.1.0
Masakazu Matsushita
STAC2023 テストケースの自動生成に生成AI導入を検討してみた STAC2023
STAC2023 テストケースの自動生成に生成AI導入を検討してみた STAC2023
Satoshi Sakashita
5分で出来る!イケてるconfluenceページ
5分で出来る!イケてるconfluenceページ
CLARA ONLINE, Inc.
経営のアジリティを支えるDevOpsと組織
経営のアジリティを支えるDevOpsと組織
Recruit Technologies
OpenXR + XR Interaction Toolkit使ったHoloLensコンテンツ開発検証 ~ (私が)完全に理解できたらちゃんと作れて、いろ...
OpenXR + XR Interaction Toolkit使ったHoloLensコンテンツ開発検証 ~ (私が)完全に理解できたらちゃんと作れて、いろ...
Takahiro Miyaura
アジャイル開発はWhyから始まる
アジャイル開発はWhyから始まる
toshihiro ichitani
オーバーエンジニアリングって何? #devsumi #devsumiA
オーバーエンジニアリングって何? #devsumi #devsumiA
Ore Product
CIが分からないPE(SETエンジニア)1年生がVRT(ビジュアルリグレッションテスト)をハードル低くCIを運用した
CIが分からないPE(SETエンジニア)1年生がVRT(ビジュアルリグレッションテスト)をハードル低くCIを運用した
ssuser0be501
あなたはPO?PM?PdM?PjM?
あなたはPO?PM?PdM?PjM?
大貴 蜂須賀
ソーシャルゲームにレコメンドエンジンを導入した話
ソーシャルゲームにレコメンドエンジンを導入した話
Tokoroten Nakayama
ChatGPTは思ったほど賢くない
ChatGPTは思ったほど賢くない
Carnot Inc.
MagicOnion入門
MagicOnion入門
torisoup
シェーダだけで世界を創る!three.jsによるレイマーチング
シェーダだけで世界を創る!three.jsによるレイマーチング
Sho Hosoda
コンセプトから理解するGitコマンド
コンセプトから理解するGitコマンド
ktateish
Mais procurados
(20)
人は一ヶ月でエンジニアになれるのか - 詳細解説
人は一ヶ月でエンジニアになれるのか - 詳細解説
【Unite Tokyo 2019】「今からでも大丈夫。Vuforia EngineでつくるAR の世界」
【Unite Tokyo 2019】「今からでも大丈夫。Vuforia EngineでつくるAR の世界」
xR Developerなら知っておきたいカメラの基礎知識
xR Developerなら知っておきたいカメラの基礎知識
例外設計における大罪
例外設計における大罪
Using or not using magic onion
Using or not using magic onion
「UXデザインとは」からはじめる「本流」のUXデザインはじめの一歩 | UXデザイン基礎セミナー 第1回
「UXデザインとは」からはじめる「本流」のUXデザインはじめの一歩 | UXデザイン基礎セミナー 第1回
いつやるの?Git入門 v1.1.0
いつやるの?Git入門 v1.1.0
STAC2023 テストケースの自動生成に生成AI導入を検討してみた STAC2023
STAC2023 テストケースの自動生成に生成AI導入を検討してみた STAC2023
5分で出来る!イケてるconfluenceページ
5分で出来る!イケてるconfluenceページ
経営のアジリティを支えるDevOpsと組織
経営のアジリティを支えるDevOpsと組織
OpenXR + XR Interaction Toolkit使ったHoloLensコンテンツ開発検証 ~ (私が)完全に理解できたらちゃんと作れて、いろ...
OpenXR + XR Interaction Toolkit使ったHoloLensコンテンツ開発検証 ~ (私が)完全に理解できたらちゃんと作れて、いろ...
アジャイル開発はWhyから始まる
アジャイル開発はWhyから始まる
オーバーエンジニアリングって何? #devsumi #devsumiA
オーバーエンジニアリングって何? #devsumi #devsumiA
CIが分からないPE(SETエンジニア)1年生がVRT(ビジュアルリグレッションテスト)をハードル低くCIを運用した
CIが分からないPE(SETエンジニア)1年生がVRT(ビジュアルリグレッションテスト)をハードル低くCIを運用した
あなたはPO?PM?PdM?PjM?
あなたはPO?PM?PdM?PjM?
ソーシャルゲームにレコメンドエンジンを導入した話
ソーシャルゲームにレコメンドエンジンを導入した話
ChatGPTは思ったほど賢くない
ChatGPTは思ったほど賢くない
MagicOnion入門
MagicOnion入門
シェーダだけで世界を創る!three.jsによるレイマーチング
シェーダだけで世界を創る!three.jsによるレイマーチング
コンセプトから理解するGitコマンド
コンセプトから理解するGitコマンド
Destaque
Xcode7時代のアプリ配布
Xcode7時代のアプリ配布
toyship
Swift Scriptingのすゝめ
Swift Scriptingのすゝめ
Yuichiro Takahashi
View Monitoring Tips
View Monitoring Tips
Daisuke Yamashita
watchOS2 tips
watchOS2 tips
Motoki Narita
tvOSネイティブアプリを作る
tvOSネイティブアプリを作る
Tomoki Hasegawa
Androidでライブラリを作る
Androidでライブラリを作る
Shigeki Yamato
【Potatotips #23】手軽にHTTPでJSONにアクセスできる環境を用意する
【Potatotips #23】手軽にHTTPでJSONにアクセスできる環境を用意する
Hiroyuki Kusu
隕石という名のスクリーンショットをSlackに落下させる話
隕石という名のスクリーンショットをSlackに落下させる話
Shinobu Okano
Type Safe Assets Handling in Swift
Type Safe Assets Handling in Swift
Kazunobu Tasaka
Objective-C Generics
Objective-C Generics
Goichi Hirakawa
My first tvOS
My first tvOS
toyship
個人で開発したアプリがベスト新着に選ばれた話
個人で開発したアプリがベスト新着に選ばれた話
Motoki Narita
Caffeでお手軽本格ディープラーニングアプリ @potatotips
Caffeでお手軽本格ディープラーニングアプリ @potatotips
Takuya Matsuyama
Introducing Cardio
Introducing Cardio
Yusuke Kita
Apple Watch 間通信
Apple Watch 間通信
Shuichi Tsutsumi
Destaque
(15)
Xcode7時代のアプリ配布
Xcode7時代のアプリ配布
Swift Scriptingのすゝめ
Swift Scriptingのすゝめ
View Monitoring Tips
View Monitoring Tips
watchOS2 tips
watchOS2 tips
tvOSネイティブアプリを作る
tvOSネイティブアプリを作る
Androidでライブラリを作る
Androidでライブラリを作る
【Potatotips #23】手軽にHTTPでJSONにアクセスできる環境を用意する
【Potatotips #23】手軽にHTTPでJSONにアクセスできる環境を用意する
隕石という名のスクリーンショットをSlackに落下させる話
隕石という名のスクリーンショットをSlackに落下させる話
Type Safe Assets Handling in Swift
Type Safe Assets Handling in Swift
Objective-C Generics
Objective-C Generics
My first tvOS
My first tvOS
個人で開発したアプリがベスト新着に選ばれた話
個人で開発したアプリがベスト新着に選ばれた話
Caffeでお手軽本格ディープラーニングアプリ @potatotips
Caffeでお手軽本格ディープラーニングアプリ @potatotips
Introducing Cardio
Introducing Cardio
Apple Watch 間通信
Apple Watch 間通信
Semelhante a HealthKitで日別のデータを一度に取得する
BigQueryで集計するシステムを作って分かったKPI集計ツール作成
BigQueryで集計するシステムを作って分かったKPI集計ツール作成
(shibao)芝尾 (kouichiro)幸一郎
Pydata tokyo-24-hootku
Pydata tokyo-24-hootku
Yasunori Horikoshi
Get started with future C# .Net development with Docker
Get started with future C# .Net development with Docker
Oshitari_kochi
Github時代のgitのはなし
Github時代のgitのはなし
Yoichi Toyota
ギークを目指すエンジニャーの 情報収集方法 mohikan Slack
ギークを目指すエンジニャーの 情報収集方法 mohikan Slack
Kota Kanbe
GoでシュッとWebスクレイピングする
GoでシュッとWebスクレイピングする
Yuta Ohashi
Semelhante a HealthKitで日別のデータを一度に取得する
(6)
BigQueryで集計するシステムを作って分かったKPI集計ツール作成
BigQueryで集計するシステムを作って分かったKPI集計ツール作成
Pydata tokyo-24-hootku
Pydata tokyo-24-hootku
Get started with future C# .Net development with Docker
Get started with future C# .Net development with Docker
Github時代のgitのはなし
Github時代のgitのはなし
ギークを目指すエンジニャーの 情報収集方法 mohikan Slack
ギークを目指すエンジニャーの 情報収集方法 mohikan Slack
GoでシュッとWebスクレイピングする
GoでシュッとWebスクレイピングする
Mais de 今城 善矩
Stargazer Meetup1
Stargazer Meetup1
今城 善矩
とにかく明るいCore Spotlight
とにかく明るいCore Spotlight
今城 善矩
SansanのEightアプリでRealmを導入した件
SansanのEightアプリでRealmを導入した件
今城 善矩
BaseViewControllerは作りたくない
BaseViewControllerは作りたくない
今城 善矩
まだSwiftで消耗してるの?
まだSwiftで消耗してるの?
今城 善矩
小学生でも分かった気になるiOS8のSize Class
小学生でも分かった気になるiOS8のSize Class
今城 善矩
iOSアプリ開発の現場で訊いてきたtips
iOSアプリ開発の現場で訊いてきたtips
今城 善矩
Swiftだめ自慢Beta5
Swiftだめ自慢Beta5
今城 善矩
WebApiを利用する際のOptional Bindingやクロージャを駆使したSwiftらしいコードの書き方
WebApiを利用する際のOptional Bindingやクロージャを駆使したSwiftらしいコードの書き方
今城 善矩
やはりお前らのCore Dataの使い方も間違っている
やはりお前らのCore Dataの使い方も間違っている
今城 善矩
OHHTTPStubsを使ったiOSアプリ開発
OHHTTPStubsを使ったiOSアプリ開発
今城 善矩
ジョブズも成仏するTips考えたったwww
ジョブズも成仏するTips考えたったwww
今城 善矩
やはりお前らのiOS7対応は間違っている
やはりお前らのiOS7対応は間違っている
今城 善矩
Mais de 今城 善矩
(13)
Stargazer Meetup1
Stargazer Meetup1
とにかく明るいCore Spotlight
とにかく明るいCore Spotlight
SansanのEightアプリでRealmを導入した件
SansanのEightアプリでRealmを導入した件
BaseViewControllerは作りたくない
BaseViewControllerは作りたくない
まだSwiftで消耗してるの?
まだSwiftで消耗してるの?
小学生でも分かった気になるiOS8のSize Class
小学生でも分かった気になるiOS8のSize Class
iOSアプリ開発の現場で訊いてきたtips
iOSアプリ開発の現場で訊いてきたtips
Swiftだめ自慢Beta5
Swiftだめ自慢Beta5
WebApiを利用する際のOptional Bindingやクロージャを駆使したSwiftらしいコードの書き方
WebApiを利用する際のOptional Bindingやクロージャを駆使したSwiftらしいコードの書き方
やはりお前らのCore Dataの使い方も間違っている
やはりお前らのCore Dataの使い方も間違っている
OHHTTPStubsを使ったiOSアプリ開発
OHHTTPStubsを使ったiOSアプリ開発
ジョブズも成仏するTips考えたったwww
ジョブズも成仏するTips考えたったwww
やはりお前らのiOS7対応は間違っている
やはりお前らのiOS7対応は間違っている
Último
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
CRI Japan, Inc.
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
sn679259
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
Toru Tamaki
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
atsushi061452
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
CRI Japan, Inc.
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
Toru Tamaki
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
WSO2
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Hiroshi Tomioka
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NTT DATA Technology & Innovation
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
Último
(12)
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
HealthKitで日別のデータを一度に取得する
1.
HealthKitで日別のデー タを一度に取得する @yimajo potatotips 23
2.
<「BMI指数が25以上の方」はご応募をご遠慮頂いております>
3.
自己紹介 一人で株式会社キュリオシティソフトウェアをやっています 今城 善矩
4.
https://stargzr.net STARGAZER GitHub, Qiita, SlideShare, Stack Overflowの ★数的なものを全部 合計します
5.
https://stargzr.net インタビューされてもいいよという人 を探しています
6.
本題
7.
日毎のデータを取得したい • だいたい右図のようなものを やりたがるはず • 期間を決めてデータを取得で きるが日別にクエリを作成す るのは面倒 •
データを一気に取得して日毎 に取り出せる
8.
具体的な説明が少なく て理解に時間がかかる
9.
https://github.com/yimajo/ HealthKitStatisticsCollectionDemo func requestWeakStatisticsCollection() { //
今から一週間前 let calendar: NSCalendar = NSCalendar.currentCalendar() let day = -7 let now = NSDate() let today = calendar.startOfDayForDate(now) // endは今でいい let endDate = now // startはdayを今日から加算した let startDate = calendar.dateByAddingUnit([.Day], value: day, toDate: today, options: NSCalendarOptions.WrapComponents)! // 今日の始まりの0時からアンカーにしたい let anchorDate = today let intervalComponents = NSDateComponents() intervalComponents.day = 1 let predicate = HKQuery.predicateForSamplesWithStartDate(startDate, endDate: endDate, options: [.None]) let quantityType = HKObjectType.quantityTypeForIdentifier(HKQuantityTypeIdentifierStepCount)! let statsOptions: HKStatisticsOptions = [HKStatisticsOptions.SeparateBySource, HKStatisticsOptions.CumulativeSum] let query = HKStatisticsCollectionQuery(quantityType: quantityType, quantitySamplePredicate: predicate, options: statsOptions, anchorDate: anchorDate, intervalComponents: intervalComponents) query.initialResultsHandler = { [unowned self] (query, result, error) in guard let result = result where error == nil else{ return } dispatch_async(dispatch_get_main_queue(), { () -> Void in self.statisticsCollection = result self.tableView.reloadData() }) } healthStore.executeQuery(query) }
10.
前提知識
11.
HKStatistics HKStatistics Δt start end sum, min,
max, average
12.
HKStatistics HKStatistics Δt start end sum, min,
max, average 歩数 歩数歩数 歩数 歩数
13.
HKStatistics HKStatistics Δt start end sum, min,
max, average 歩数 歩数歩数 歩数 歩数 Watch iPhone
14.
HKStatisticsは決められた範 囲のデータを利用しやすく管 理している
15.
これをCollectionとして 連続したデータで一度に 取り出したい
16.
例:22日から現在まで歩数を一度に取得する設定 今24日23日22日
17.
例:22日から現在まで歩数を一度に取得する設定 今24日23日22日 startDateを0時
18.
例:22日から現在まで歩数を一度に取得する設定 今24日23日22日 startDateを0時 endDate
19.
例:22日から現在まで歩数を一度に取得する設定 今24日23日22日 startDateを0時 endDate Δtを1日
20.
例:22日から現在まで歩数を一度に取得する設定 今24日23日22日 startDateを0時 endDate Δtを1日 HKStatistics
21.
例:22日から現在まで歩数を一度に取得する設定 今24日23日22日 startDateを0時 endDate Δtを1日 anchorDateを0時にセット HKStatistics
22.
例:22日から現在まで歩数を一度に取得する設定 今24日23日22日 startDateを0時 endDate Δtを1日 anchorDateを0時にセット HKStatistics ⚓
23.
例:22日から現在まで歩数を一度に取得する設定 HKStatisticsHKStatistics HKStatistics 今24日23日22日 startDateを0時 endDate Δtを1日 anchorDateを0時にセット HKStatistics ⚓
24.
例:22日から現在まで歩数を一度に取得する設定 HKStatisticsHKStatistics HKStatistics 今24日23日22日 sum 2,084歩 sum 4,376歩 sum 444歩 startDateを0時 endDate Δtを1日 anchorDateを0時にセット HKStatistics ⚓
25.
補足
26.
anchorDateについて • NSDateクラスだがΔtを一日 にした場合は0:00から23:59 の間の何時何分か分かればい い • 例では22日0:00にしたが23 日0:00でも結果は同じ ⚓
27.
ソース別重複データ • statistics.sumQuantity()は既に 重複データを省いている=同時刻 の別ソースのデータは合計してい ない • statistics.sumQuantityForSour ce(source:)ではソース別のデー タが取れる •
.SeparateBySourceはソース別 でデータを取得したいかどうかを クエリに渡すオプション 歩数 歩数歩数 歩数 歩数 Watch iPhone
28.
参考 • http://azu.github.io/slide/tech_ios/ • https://developer.apple.com/videos/play/ wwdc2014-203/ •
https://developer.apple.com/library/ prerelease/ios/documentation/HealthKit/ Reference/HealthKit_Framework/index.html
Baixar agora