私はあなたのHKActivitySummary
を使用するアプリを作っています。私が気づいたことの一つは、午前中に何か活動をする前にnil
の値がHKQuery.predicateForActivitySummary()
から戻ってくることです。朝のHKActivitySummaryはゼロです。
ひとたびアクティブなカロリーが1つ増えると、期待通りにゼロ以外の値が戻ってくるようになります。 HKQuery
でこの問題を回避する方法が
let calendar = Calendar(identifier: .gregorian)
let components = Set<Calendar.Component>([.day, .month, .year, .era])
var dateComponents = calendar.dateComponents(components, from: Date())
dateComponents.calendar = calendar
let todayPredicate = HKQuery.predicateForActivitySummary(with: dateComponents)
let query = HKActivitySummaryQuery(predicate: todayPredicate) { query, summaries, error in
// If I haven't moved yet today, summaries is an empty array,
// and the error is nil.
// However, if I've moved a bit, summaries is non-empty!
// Is there a way to adjust this query to avoid the nil-in-the-morning issue?
}
store.execute(query)
あり:ここで
は、クエリですか?更新日:私はAppleにレーダーを提出しました。それを複製したい場合、番号は36026782です。
関連するスニペットを含めてください。あなたが戻ってきていないと言ったら、NSPredicateがHKQueryから返されたという意味ですか? HKQuery.predicateForActivitySummary()がnilであるか、HKActivitySummaryQueryの結果ハンドラnilに渡される結果ですか? – Allan
@Allanああ、申し訳ありません!コードサンプルと、HKActivitySummaryQueryの結果ハンドラに表示されている内容の説明を追加しました。 – bryanjclark