{"title":"HKSampleQuery\u3092HKSampleQueryDescriptor\u306b\u7f6e\u304d\u63db\u3048\u308b","provider_url":"https://hatena.blog","height":"190","author_name":"tokizuoh","html":"<iframe src=\"https://hatenablog-parts.com/embed?url=https%3A%2F%2Ftokizuoh.hatenablog.com%2Fentry%2F2022%2F06%2F05%2F160605\" title=\"HKSampleQuery\u3092HKSampleQueryDescriptor\u306b\u7f6e\u304d\u63db\u3048\u308b - \u30ab\u30eb\u30dc\u30ca\u30fc\u30e9\u8857\u9053\" class=\"embed-card embed-blogcard\" scrolling=\"no\" frameborder=\"0\" style=\"display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;\"></iframe>","blog_url":"https://tokizuoh.hatenablog.com/","published":"2022-06-05 16:06:05","type":"rich","provider_name":"Hatena Blog","blog_title":"\u30ab\u30eb\u30dc\u30ca\u30fc\u30e9\u8857\u9053","width":"100%","categories":["Swift","Swift Concurrency"],"url":"https://tokizuoh.hatenablog.com/entry/2022/06/05/160605","author_url":"https://blog.hatena.ne.jp/tokizuoh/","image_url":null,"description":"\u958b\u767a\u74b0\u5883 > xcodebuild -version Xcode 13.3 Build version 13E113 \u30e2\u30c1\u30d9\u30fc\u30b7\u30e7\u30f3 HealthKit\u304c\u63d0\u4f9b\u3059\u308bAPI\u306bSwift Concurrency\u5bfe\u5fdc\u306e\u3082\u306e\u304c\u5897\u3048\u3066\u3044\u305f\u306e\u3067\u4f7f\u3063\u3066\u307f\u308b\u3002 HKSampleQueryDescriptor iOS15.3\u4ee5\u524d\u3067\u306f\u3001HealthKit\u3092\u4f7f\u3063\u3066\u30ef\u30fc\u30af\u30a2\u30a6\u30c8\u3092\u53d6\u5f97\u3059\u308b\u6642\u306bHKSampleQuery\u3092\u5229\u7528\u3059\u308b\u5fc5\u8981\u304c\u3042\u3063\u305f\u3002 import HealthKit func getWorkouts(completion: @escaping (([HKWorkout]) -> Void)) { let que\u2026","version":"1.0"}