After a lot of testing by the people in the comments, it looks like only ECG will work.
So just replace the first three files:
com.apple.HeartRate.notifications.plist
com.apple.HeartRate.plist
com.apple.private.health.feature-availability.plist
<?xml version="1.0" encoding="UTF-8"?> | |
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> | |
<plist version="1.0"> | |
<dict> | |
<key>MigrationVersion</key> | |
<integer>1</integer> | |
<key>EnableCardioFitnessNotifications_lastReconciledValue</key> | |
<true/> | |
<key>EnableBradycardiaDetection</key> | |
<true/> | |
<key>StationaryDiscordanceMinimumBPM</key> | |
<integer>110</integer> | |
<key>EnableAtrialFibrillationDetection</key> | |
<true/> | |
<key>EnableStationaryDiscordanceDetection</key> | |
<true/> | |
<key>BradycardiaThresholdBPM</key> | |
<integer>50</integer> | |
<key>EnableCardioFitnessNotifications</key> | |
<true/> | |
</dict> | |
</plist> |
<?xml version="1.0" encoding="UTF-8"?> | |
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> | |
<plist version="1.0"> | |
<dict> | |
<key>CompletedBuddyVersion</key> | |
<integer>2</integer> | |
</dict> | |
</plist> |
<?xml version="1.0" encoding="UTF-8"?> | |
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> | |
<plist version="1.0"> | |
<dict> | |
<key>DisableOxygenSaturationRecordingCompanionAnalysis</key> | |
<dict> | |
<key>userInfo</key> | |
<dict/> | |
<key>ruleIdentifier</key> | |
<string>AlwaysFalse</string> | |
</dict> | |
<key>ExpireElectrocardiogramRecording</key> | |
<dict> | |
<key>userInfo</key> | |
<dict/> | |
<key>ruleIdentifier</key> | |
<string>AlwaysFalse</string> | |
</dict> | |
<key>DisableOxygenSaturationRecording</key> | |
<dict> | |
<key>userInfo</key> | |
<dict/> | |
<key>ruleIdentifier</key> | |
<string>AlwaysFalse</string> | |
</dict> | |
<key>DisableSleepApneaNotifications</key> | |
<dict> | |
<key>userInfo</key> | |
<dict> | |
<key>grouping</key> | |
<string>OR</string> | |
<key>rules</key> | |
<array> | |
<dict> | |
<key>userInfo</key> | |
<dict/> | |
<key>ruleIdentifier</key> | |
<string>AlwaysFalse</string> | |
</dict> | |
<dict> | |
<key>userInfo</key> | |
<dict> | |
<key>ProductTypePrefix</key> | |
<string>Watch6</string> | |
</dict> | |
<key>ruleIdentifier</key> | |
<string>WatchProductTypeHasPrefix</string> | |
</dict> | |
</array> | |
</dict> | |
<key>ruleIdentifier</key> | |
<string>CompoundRule</string> | |
</dict> | |
<key>ExpireBackgroundAtrialFibrillationDetection</key> | |
<dict> | |
<key>userInfo</key> | |
<dict/> | |
<key>ruleIdentifier</key> | |
<string>AlwaysFalse</string> | |
</dict> | |
<key>ExpireAFibBurden</key> | |
<dict> | |
<key>userInfo</key> | |
<dict/> | |
<key>ruleIdentifier</key> | |
<string>AlwaysFalse</string> | |
</dict> | |
<key>CountMobileAssetsDownloadedPast24Hours</key> | |
<integer>338</integer> | |
</dict> | |
</plist> |
<?xml version="1.0" encoding="UTF-8"?> | |
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> | |
<plist version="1.0"> | |
<dict> | |
<key>AvailableRegionsContentVersion</key> | |
<integer>2</integer> | |
<key>AvailableRegionsVersion</key> | |
<integer>1</integer> | |
<key>AvailableRegions</key> | |
<array> | |
<integer>18446744073709551615</integer> | |
<integer>18446744073709551615</integer> | |
<integer>18446744073709551615</integer> | |
<integer>18446744073709551615</integer> | |
<integer>3</integer> | |
</array> | |
<key>CountrySetProvenance</key> | |
<integer>3</integer> | |
<key>UDIDeviceIdentifier</key> | |
<string>(01)00190198909541(10)1.22B83</string> | |
<key>YearOfRelease</key> | |
<string>2024</string> | |
<key>FeatureVersion</key> | |
<string>1</string> | |
<key>UpdateVersion</key> | |
<string>1.22B83</string> | |
</dict> | |
</plist> |
<?xml version="1.0" encoding="UTF-8"?> | |
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> | |
<plist version="1.0"> | |
<dict> | |
<key>AvailableRegionsContentVersion</key> | |
<integer>4</integer> | |
<key>AvailableRegionsVersion</key> | |
<integer>1</integer> | |
<key>AvailableRegions</key> | |
<array> | |
<integer>18446744073709551615</integer> | |
<integer>18446744073709551615</integer> | |
<integer>18446744073709551615</integer> | |
<integer>18446744073709551615</integer> | |
<integer>3</integer> | |
</array> | |
<key>CountrySetProvenance</key> | |
<integer>4</integer> | |
<key>UDIDeviceIdentifier</key> | |
<string>(01)00195949116209(10)1.22B83</string> | |
<key>YearOfRelease</key> | |
<string>2024</string> | |
<key>FeatureVersion</key> | |
<string>1</string> | |
<key>UpdateVersion</key> | |
<string>1.22B83</string> | |
</dict> | |
</plist> |
<?xml version="1.0" encoding="UTF-8"?> | |
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> | |
<plist version="1.0"> | |
<dict> | |
<key>HKElectrocardiogramV1ToV2UpgradeBackgroundDelivered</key> | |
<true/> | |
<key>ElectrocardiogramWatchAppInstallIsAllowed</key> | |
<true/> | |
<key>HKElectrocardiogramV1ToV2UpgradeAlertDismissed</key> | |
<true/> | |
<key>HKAtrialFibrillationDetectionOnboardingCompleted</key> | |
<integer>1</integer> | |
<key>HKElectrocardiogramFirstRecordingCompleted</key> | |
<true/> | |
<key>PromimentUpgradeTileDismissed</key> | |
<true/> | |
<key>HKElectrocardiogramOnboardingCompleted</key> | |
<integer>4</integer> | |
</dict> | |
</plist> |
I had success with enabling ECG with iOS 18.3.2 + WatchOS 11.3.1 (Apple Watch 10); here are some recommendations from my painful experience.
Original manuals from 2019 with outdated screenshots and files, but fresh comments are:
Use an APFS disk on your Apple device for the backup location (not tested with other filesystems). I had a lot of problems with an ExFAT external disk; also, with ExFAT in the end I got a triple-sized backup that I could not edit (Editable backups are not supported on your chosen backup location for XX iPhone. Please use the "Export to Folder" option to make a local copy which you can then edit
error).
For editing plist files, use an app (BBEdit (Paid), PlistEdit Pro (Paid), etc.). I used this Vim plugin because it's free and easy to use. Do not recommend XCode, because of its strange behaviour with plist files and its non-user-friendly edit mode.
Do not replace existing files with text files from a gist! Use the apps above to edit existing plist files, carefully changing existing parameter values with the parameters in the gist files. This is important because at least UDIDeviceIdentifier
, YearOfRelease
, and UpdateVersion
were different in my case.
Be careful with restoring: you need to have more than 50% free space available on your iPhone. If not, you could restore without photos (it will erase all photos on your phone), then restore with photos. Do not check the erase checkmark when restoring, because in this case all your esims and other stuff will be wiped!
After restoring you will need to re-add all Apple Wallet cards, and some Bank/Telecom apps will be logged out. Keep this in mind.
Working on iPhone 11 iOs 18.4.1, and Apple Watch 10. Just had to download all 6 files, and modify:
changing <key>UDIDeviceIdentifier</key> <string>(01)00195949116209(10)1.22B83</string> <key>YearOfRelease</key> <string>2024</string> <key>FeatureVersion</key> <string>1</string> <key>UpdateVersion</key> <string>1.22B83</string>
, as the previous files in the backup were.
Used iMazing (paid unfortunately).
ECG works on ios and watchos 26 dev beta 1
Not sure if this helps anyone, but today my phone randomly started showing my location in Ukraine. I used this opportunity to activate all region-blocked features (e.g., oxygen, Afib, etc.) except Sleep Apnea, which isn’t available in that region.
This made me think that if you guys can change your phone’s GPS location, perhaps you might be able to activate the features. I had changed my phone’s location once with Xcode, but it didn’t work. Perhaps I didn’t do it correctly.
Good luck!
Not sure if this helps anyone, but today my phone randomly started showing my location in Ukraine. I used this opportunity to activate all region-blocked features (e.g., oxygen, Afib, etc.) except Sleep Apnea, which isn’t available in that region.
This made me think that if you guys can change your phone’s GPS location, perhaps you might be able to activate the features. I had changed my phone’s location once with Xcode, but it didn’t work. Perhaps I didn’t do it correctly.
Good luck!
The lock depends on Cellular signal, not GPS. Maybe you can share the pref files
Not sure if this helps anyone, but today my phone randomly started showing my location in Ukraine. I used this opportunity to activate all region-blocked features (e.g., oxygen, Afib, etc.) except Sleep Apnea, which isn’t available in that region.
This made me think that if you guys can change your phone’s GPS location, perhaps you might be able to activate the features. I had changed my phone’s location once with Xcode, but it didn’t work. Perhaps I didn’t do it correctly.
Good luck!The lock depends on Cellular signal, not GPS. Maybe you can share the pref files
I too had thought this, hence why I couldn’t activate the features through location change with Xcode. That said, the recent GPS change on my phone allowed the activation of these features. I did not physically change location nor do I have an international SIM card. Be it as it may, there is probably more to the story than what we had all originally thought.
happy hacking!
Buenas tardes ..
Actualizo informacion desde Argentina. AppleWatch iOS 11.5 , iphone 18.5 con Imazing PRO.
ECG ok
HISTORIA FIBRILACION ok
SIGNOS VITALES ok
APNEA ok
RITMO IRREGULAR ok , ( pero NO FUNCIONA CUANDO ESTA ACTIVADO HISTORIA FIBRILACION ) por lo visto es una u otra pero no las 2 simultaneo
OXIGENO EN SANGRE NO
Aclaraciones : NO soy experto en sistemas ni nada, solamente descargue los 6 archivos y los extraje al escritorio de mi PC y fui Reemplazando uno x uno. Siguiendo los pasos de los instructivos que hay por ahi.
Por otro lado, Signos vitales, Ritmo irregular, Apnea en principio aparece como NO disponibles, pero hay que activar desde SALUD del iphone.
Espero les sirva.
Saludos.
Hello! Used these files today, Jan 2nd 2025 and it worked! Only ECG though but this is great. Thank you!