На Watch я могу пройти сохраненную тренировку от WorkoutInterfaceController
до SummaryInterfaceController
. Но мне было интересно, как с передать сохраненную тренировку с Watch на iPhone (так что я могу отобразить ее и в средстве просмотра).Прохождение сохраненной тренировки от Watch to iPhone
Знаете ли вы? Или есть лучший способ, которым я должен это делать?
Вот что я использую, чтобы передать сохраненные тренировки от WorkoutInterfaceController
к SummaryInterfaceController
:
private func saveWorkout() {
// Create and save a workout sample
let configuration = workoutSession!.workoutConfiguration
let isIndoor = (configuration.locationType == .indoor) as NSNumber
print("locationType: \(configuration)")
let workout = HKWorkout(activityType: configuration.activityType,
start: workoutStartDate!,
end: workoutEndDate!,
workoutEvents: workoutEvents,
totalEnergyBurned: totalEnergyBurned,
totalDistance: totalDistance,
metadata: [HKMetadataKeyIndoorWorkout:isIndoor]);
healthStore.save(workout) { success, _ in
if success {
self.addSamples(toWorkout: workout)
}
}
WKInterfaceController.reloadRootControllers(withNames: ["SummaryInterfaceController"], contexts: [workout])
}
private func addSamples(toWorkout workout: HKWorkout) {
// Create energy and distance samples
let totalEnergyBurnedSample = HKQuantitySample(type: HKQuantityType.activeEnergyBurned(),
quantity: totalEnergyBurned,
start: workoutStartDate!,
end: workoutEndDate!)
// Add samples to workout
healthStore.add([totalEnergyBurnedSample], to: workout) { (success: Bool, error: Error?) in
if success {
// Samples have been added
}
}
}
Позволь мне знать, если какие-либо вопросы или информацию, необходимые, спасибо!
Вы пробовали код/процесс, который вы опубликовали? – SRMR