Skip to content

Instantly share code, notes, and snippets.

@imReker
Last active July 15, 2025 22:28
Show Gist options
  • Save imReker/fba069c6cae7407509863b0ed78da2a7 to your computer and use it in GitHub Desktop.
Save imReker/fba069c6cae7407509863b0ed78da2a7 to your computer and use it in GitHub Desktop.
iOS 18.1 plist for Apple Watch to Enable ECG, Atrial Fibrillation(IRNF), Sleep Apnea Notify. No AfiB History.

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>
@Kawixh
Copy link

Kawixh commented Jun 11, 2025

ECG works on ios and watchos 26 dev beta 1

@prohoudini
Copy link

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!

@imReker
Copy link
Author

imReker commented Jun 26, 2025

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

@prohoudini
Copy link

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!

@Javieresteban77
Copy link

Javieresteban77 commented Jul 15, 2025

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment