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> |
Hi, I tried the same as the last commenter, but they were updated by Apple upon pairing the watch again.
I tried a second time - this time replacing those files and also placing overrides in ManagedPreferences, but this still did not work. I think there is something on the watch side that may be blocking this solution. My watch is LW/A.
Ok Guys.
Just wanted to play with some other stuff like SleepApnea, Oxygen etc.... no luck. My Wife's watch has Oxygen enabled, but I've been checking her backup and comparing with the ones we have and cannot get it done.
Now, I just took a new iPhone 15 Pro, with an Editable Backup...I checked for all those 3 files, and the iOS 18.1.1 was missing just one of those files. I created that file using PlistEdit Pro... and boom... ECG enabled. No AfiB History enabled but ECG working.
I have blood oxygen activated, its a series 7 but I hope this is of any use
I haven't activated ECG or Afib since im scared of iCloud locking my iPhone lol
<?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>DisableOxygenSaturationRecording</key>
<dict>
<key>ruleIdentifier</key>
<string>CompoundRule</string>
<key>userInfo</key>
<dict>
<key>grouping</key>
<string>OR</string>
<key>rules</key>
<array>
<dict>
<key>ruleIdentifier</key>
<string>AlwaysFalse</string>
<key>userInfo</key>
<dict/>
</dict>
<dict>
<key>ruleIdentifier</key>
<string>WatchRegionInfoEquals</string>
<key>userInfo</key>
<dict>
<key>RegionInfo</key>
<string>LW/A</string>
</dict>
</dict>
<dict>
<key>ruleIdentifier</key>
<string>WatchRegionInfoEquals</string>
<key>userInfo</key>
<dict>
<key>RegionInfo</key>
<string>LM/A</string>
</dict>
</dict>
</array>
</dict>
</dict>
<key>DisableOxygenSaturationRecordingCompanionAnalysis</key>
<dict>
<key>ruleIdentifier</key>
<string>AlwaysTrue</string>
<key>userInfo</key>
<dict/>
</dict>
<key>DisableSleepApneaNotifications</key>
<dict>
<key>ruleIdentifier</key>
<string>CompoundRule</string>
<key>userInfo</key>
<dict>
<key>grouping</key>
<string>OR</string>
<key>rules</key>
<array>
<dict>
<key>ruleIdentifier</key>
<string>AlwaysFalse</string>
<key>userInfo</key>
<dict/>
</dict>
<dict>
<key>ruleIdentifier</key>
<string>WatchProductTypeHasPrefix</string>
<key>userInfo</key>
<dict>
<key>ProductTypePrefix</key>
<string>Watch6</string>
</dict>
</dict>
</array>
</dict>
</dict>
<key>ExpireAFibBurden</key>
<dict>
<key>ruleIdentifier</key>
<string>CompoundRule</string>
<key>userInfo</key>
<dict>
<key>grouping</key>
<string>OR</string>
<key>rules</key>
<array>
<dict>
<key>ruleIdentifier</key>
<string>AlwaysFalse</string>
<key>userInfo</key>
<dict/>
</dict>
<dict>
<key>ruleIdentifier</key>
<string>IOSBuildVersionEquals</string>
<key>userInfo</key>
<dict>
<key>BuildVersion</key>
<string>21F5048f</string>
</dict>
</dict>
<dict>
<key>ruleIdentifier</key>
<string>IOSBuildVersionEquals</string>
<key>userInfo</key>
<dict>
<key>BuildVersion</key>
<string>21F5058e</string>
</dict>
</dict>
<dict>
<key>ruleIdentifier</key>
<string>IOSBuildVersionEquals</string>
<key>userInfo</key>
<dict>
<key>BuildVersion</key>
<string>21F5063f</string>
</dict>
</dict>
<dict>
<key>ruleIdentifier</key>
<string>IOSBuildVersionEquals</string>
<key>userInfo</key>
<dict>
<key>BuildVersion</key>
<string>21F5073b</string>
</dict>
</dict>
<dict>
<key>ruleIdentifier</key>
<string>IOSBuildVersionEquals</string>
<key>userInfo</key>
<dict>
<key>BuildVersion</key>
<string>21G5052e</string>
</dict>
</dict>
<dict>
<key>ruleIdentifier</key>
<string>IOSBuildVersionEquals</string>
<key>userInfo</key>
<dict>
<key>BuildVersion</key>
<string>21G5061c</string>
</dict>
</dict>
<dict>
<key>ruleIdentifier</key>
<string>IOSBuildVersionEquals</string>
<key>userInfo</key>
<dict>
<key>BuildVersion</key>
<string>21G5066d</string>
</dict>
</dict>
<dict>
<key>ruleIdentifier</key>
<string>IOSBuildVersionEquals</string>
<key>userInfo</key>
<dict>
<key>BuildVersion</key>
<string>21G5075a</string>
</dict>
</dict>
<dict>
<key>ruleIdentifier</key>
<string>IOSBuildVersionEquals</string>
<key>userInfo</key>
<dict>
<key>BuildVersion</key>
<string>22A5282m</string>
</dict>
</dict>
<dict>
<key>ruleIdentifier</key>
<string>IOSBuildVersionEquals</string>
<key>userInfo</key>
<dict>
<key>BuildVersion</key>
<string>22A5297f</string>
</dict>
</dict>
<dict>
<key>ruleIdentifier</key>
<string>IOSBuildVersionEquals</string>
<key>userInfo</key>
<dict>
<key>BuildVersion</key>
<string>22A5307f</string>
</dict>
</dict>
<dict>
<key>ruleIdentifier</key>
<string>IOSBuildVersionEquals</string>
<key>userInfo</key>
<dict>
<key>BuildVersion</key>
<string>22A5326f</string>
</dict>
</dict>
<dict>
<key>ruleIdentifier</key>
<string>IOSBuildVersionEquals</string>
<key>userInfo</key>
<dict>
<key>BuildVersion</key>
<string>22A5338b</string>
</dict>
</dict>
<dict>
<key>ruleIdentifier</key>
<string>IOSBuildVersionEquals</string>
<key>userInfo</key>
<dict>
<key>BuildVersion</key>
<string>22A5346a</string>
</dict>
</dict>
<dict>
<key>ruleIdentifier</key>
<string>IOSBuildVersionEquals</string>
<key>userInfo</key>
<dict>
<key>BuildVersion</key>
<string>22A5350a</string>
</dict>
</dict>
<dict>
<key>ruleIdentifier</key>
<string>WatchOSBuildVersionEquals</string>
<key>userInfo</key>
<dict>
<key>BuildVersion</key>
<string>21T5545f</string>
</dict>
</dict>
<dict>
<key>ruleIdentifier</key>
<string>WatchOSBuildVersionEquals</string>
<key>userInfo</key>
<dict>
<key>BuildVersion</key>
<string>21T5555d</string>
</dict>
</dict>
<dict>
<key>ruleIdentifier</key>
<string>WatchOSBuildVersionEquals</string>
<key>userInfo</key>
<dict>
<key>BuildVersion</key>
<string>21T5560d</string>
</dict>
</dict>
<dict>
<key>ruleIdentifier</key>
<string>WatchOSBuildVersionEquals</string>
<key>userInfo</key>
<dict>
<key>BuildVersion</key>
<string>21T5571a</string>
</dict>
</dict>
<dict>
<key>ruleIdentifier</key>
<string>WatchOSBuildVersionEquals</string>
<key>userInfo</key>
<dict>
<key>BuildVersion</key>
<string>21U5551b</string>
</dict>
</dict>
<dict>
<key>ruleIdentifier</key>
<string>WatchOSBuildVersionEquals</string>
<key>userInfo</key>
<dict>
<key>BuildVersion</key>
<string>21U5560b</string>
</dict>
</dict>
<dict>
<key>ruleIdentifier</key>
<string>WatchOSBuildVersionEquals</string>
<key>userInfo</key>
<dict>
<key>BuildVersion</key>
<string>21U5565c</string>
</dict>
</dict>
<dict>
<key>ruleIdentifier</key>
<string>WatchOSBuildVersionEquals</string>
<key>userInfo</key>
<dict>
<key>BuildVersion</key>
<string>21U5574a</string>
</dict>
</dict>
<dict>
<key>ruleIdentifier</key>
<string>WatchOSBuildVersionEquals</string>
<key>userInfo</key>
<dict>
<key>BuildVersion</key>
<string>22R5284o</string>
</dict>
</dict>
<dict>
<key>ruleIdentifier</key>
<string>WatchOSBuildVersionEquals</string>
<key>userInfo</key>
<dict>
<key>BuildVersion</key>
<string>22R5299d</string>
</dict>
</dict>
<dict>
<key>ruleIdentifier</key>
<string>WatchOSBuildVersionEquals</string>
<key>userInfo</key>
<dict>
<key>BuildVersion</key>
<string>22R5309f</string>
</dict>
</dict>
<dict>
<key>ruleIdentifier</key>
<string>WatchOSBuildVersionEquals</string>
<key>userInfo</key>
<dict>
<key>BuildVersion</key>
<string>22R5318h</string>
</dict>
</dict>
<dict>
<key>ruleIdentifier</key>
<string>WatchOSBuildVersionEquals</string>
<key>userInfo</key>
<dict>
<key>BuildVersion</key>
<string>22R5328e</string>
</dict>
</dict>
<dict>
<key>ruleIdentifier</key>
<string>WatchOSBuildVersionEquals</string>
<key>userInfo</key>
<dict>
<key>BuildVersion</key>
<string>22R5340a</string>
</dict>
</dict>
<dict>
<key>ruleIdentifier</key>
<string>WatchOSBuildVersionEquals</string>
<key>userInfo</key>
<dict>
<key>BuildVersion</key>
<string>22R5348a</string>
</dict>
</dict>
</array>
</dict>
</dict>
<key>ExpireBackgroundAtrialFibrillationDetection</key>
<dict>
<key>ruleIdentifier</key>
<string>CompoundRule</string>
<key>userInfo</key>
<dict>
<key>grouping</key>
<string>OR</string>
<key>rules</key>
<array>
<dict>
<key>ruleIdentifier</key>
<string>AlwaysFalse</string>
<key>userInfo</key>
<dict/>
</dict>
<dict>
<key>ruleIdentifier</key>
<string>IOSBuildVersionEquals</string>
<key>userInfo</key>
<dict>
<key>BuildVersion</key>
<string>21F5048f</string>
</dict>
</dict>
<dict>
<key>ruleIdentifier</key>
<string>IOSBuildVersionEquals</string>
<key>userInfo</key>
<dict>
<key>BuildVersion</key>
<string>21F5058e</string>
</dict>
</dict>
<dict>
<key>ruleIdentifier</key>
<string>IOSBuildVersionEquals</string>
<key>userInfo</key>
<dict>
<key>BuildVersion</key>
<string>21F5063f</string>
</dict>
</dict>
<dict>
<key>ruleIdentifier</key>
<string>IOSBuildVersionEquals</string>
<key>userInfo</key>
<dict>
<key>BuildVersion</key>
<string>21F5073b</string>
</dict>
</dict>
<dict>
<key>ruleIdentifier</key>
<string>IOSBuildVersionEquals</string>
<key>userInfo</key>
<dict>
<key>BuildVersion</key>
<string>21G5052e</string>
</dict>
</dict>
<dict>
<key>ruleIdentifier</key>
<string>IOSBuildVersionEquals</string>
<key>userInfo</key>
<dict>
<key>BuildVersion</key>
<string>21G5061c</string>
</dict>
</dict>
<dict>
<key>ruleIdentifier</key>
<string>IOSBuildVersionEquals</string>
<key>userInfo</key>
<dict>
<key>BuildVersion</key>
<string>21G5066d</string>
</dict>
</dict>
<dict>
<key>ruleIdentifier</key>
<string>IOSBuildVersionEquals</string>
<key>userInfo</key>
<dict>
<key>BuildVersion</key>
<string>21G5075a</string>
</dict>
</dict>
<dict>
<key>ruleIdentifier</key>
<string>IOSBuildVersionEquals</string>
<key>userInfo</key>
<dict>
<key>BuildVersion</key>
<string>22A5282m</string>
</dict>
</dict>
<dict>
<key>ruleIdentifier</key>
<string>IOSBuildVersionEquals</string>
<key>userInfo</key>
<dict>
<key>BuildVersion</key>
<string>22A5297f</string>
</dict>
</dict>
<dict>
<key>ruleIdentifier</key>
<string>IOSBuildVersionEquals</string>
<key>userInfo</key>
<dict>
<key>BuildVersion</key>
<string>22A5307f</string>
</dict>
</dict>
<dict>
<key>ruleIdentifier</key>
<string>IOSBuildVersionEquals</string>
<key>userInfo</key>
<dict>
<key>BuildVersion</key>
<string>22A5326f</string>
</dict>
</dict>
<dict>
<key>ruleIdentifier</key>
<string>IOSBuildVersionEquals</string>
<key>userInfo</key>
<dict>
<key>BuildVersion</key>
<string>22A5338b</string>
</dict>
</dict>
<dict>
<key>ruleIdentifier</key>
<string>IOSBuildVersionEquals</string>
<key>userInfo</key>
<dict>
<key>BuildVersion</key>
<string>22A5346a</string>
</dict>
</dict>
<dict>
<key>ruleIdentifier</key>
<string>IOSBuildVersionEquals</string>
<key>userInfo</key>
<dict>
<key>BuildVersion</key>
<string>22A5350a</string>
</dict>
</dict>
<dict>
<key>ruleIdentifier</key>
<string>WatchOSBuildVersionEquals</string>
<key>userInfo</key>
<dict>
<key>BuildVersion</key>
<string>21T5545f</string>
</dict>
</dict>
<dict>
<key>ruleIdentifier</key>
<string>WatchOSBuildVersionEquals</string>
<key>userInfo</key>
<dict>
<key>BuildVersion</key>
<string>21T5555d</string>
</dict>
</dict>
<dict>
<key>ruleIdentifier</key>
<string>WatchOSBuildVersionEquals</string>
<key>userInfo</key>
<dict>
<key>BuildVersion</key>
<string>21T5560d</string>
</dict>
</dict>
<dict>
<key>ruleIdentifier</key>
<string>WatchOSBuildVersionEquals</string>
<key>userInfo</key>
<dict>
<key>BuildVersion</key>
<string>21T5571a</string>
</dict>
</dict>
<dict>
<key>ruleIdentifier</key>
<string>WatchOSBuildVersionEquals</string>
<key>userInfo</key>
<dict>
<key>BuildVersion</key>
<string>21U5551b</string>
</dict>
</dict>
<dict>
<key>ruleIdentifier</key>
<string>WatchOSBuildVersionEquals</string>
<key>userInfo</key>
<dict>
<key>BuildVersion</key>
<string>21U5560b</string>
</dict>
</dict>
<dict>
<key>ruleIdentifier</key>
<string>WatchOSBuildVersionEquals</string>
<key>userInfo</key>
<dict>
<key>BuildVersion</key>
<string>21U5565c</string>
</dict>
</dict>
<dict>
<key>ruleIdentifier</key>
<string>WatchOSBuildVersionEquals</string>
<key>userInfo</key>
<dict>
<key>BuildVersion</key>
<string>21U5574a</string>
</dict>
</dict>
<dict>
<key>ruleIdentifier</key>
<string>WatchOSBuildVersionEquals</string>
<key>userInfo</key>
<dict>
<key>BuildVersion</key>
<string>22R5284o</string>
</dict>
</dict>
<dict>
<key>ruleIdentifier</key>
<string>WatchOSBuildVersionEquals</string>
<key>userInfo</key>
<dict>
<key>BuildVersion</key>
<string>22R5299d</string>
</dict>
</dict>
<dict>
<key>ruleIdentifier</key>
<string>WatchOSBuildVersionEquals</string>
<key>userInfo</key>
<dict>
<key>BuildVersion</key>
<string>22R5309f</string>
</dict>
</dict>
<dict>
<key>ruleIdentifier</key>
<string>WatchOSBuildVersionEquals</string>
<key>userInfo</key>
<dict>
<key>BuildVersion</key>
<string>22R5318h</string>
</dict>
</dict>
<dict>
<key>ruleIdentifier</key>
<string>WatchOSBuildVersionEquals</string>
<key>userInfo</key>
<dict>
<key>BuildVersion</key>
<string>22R5328e</string>
</dict>
</dict>
<dict>
<key>ruleIdentifier</key>
<string>WatchOSBuildVersionEquals</string>
<key>userInfo</key>
<dict>
<key>BuildVersion</key>
<string>22R5340a</string>
</dict>
</dict>
<dict>
<key>ruleIdentifier</key>
<string>WatchOSBuildVersionEquals</string>
<key>userInfo</key>
<dict>
<key>BuildVersion</key>
<string>22R5348a</string>
</dict>
</dict>
</array>
</dict>
</dict>
<key>ExpireElectrocardiogramRecording</key>
<dict>
<key>ruleIdentifier</key>
<string>CompoundRule</string>
<key>userInfo</key>
<dict>
<key>grouping</key>
<string>OR</string>
<key>rules</key>
<array>
<dict>
<key>ruleIdentifier</key>
<string>AlwaysFalse</string>
<key>userInfo</key>
<dict/>
</dict>
<dict>
<key>ruleIdentifier</key>
<string>IOSBuildVersionEquals</string>
<key>userInfo</key>
<dict>
<key>BuildVersion</key>
<string>21F5048f</string>
</dict>
</dict>
<dict>
<key>ruleIdentifier</key>
<string>IOSBuildVersionEquals</string>
<key>userInfo</key>
<dict>
<key>BuildVersion</key>
<string>21F5058e</string>
</dict>
</dict>
<dict>
<key>ruleIdentifier</key>
<string>IOSBuildVersionEquals</string>
<key>userInfo</key>
<dict>
<key>BuildVersion</key>
<string>21F5063f</string>
</dict>
</dict>
<dict>
<key>ruleIdentifier</key>
<string>IOSBuildVersionEquals</string>
<key>userInfo</key>
<dict>
<key>BuildVersion</key>
<string>21F5073b</string>
</dict>
</dict>
<dict>
<key>ruleIdentifier</key>
<string>IOSBuildVersionEquals</string>
<key>userInfo</key>
<dict>
<key>BuildVersion</key>
<string>21G5052e</string>
</dict>
</dict>
<dict>
<key>ruleIdentifier</key>
<string>IOSBuildVersionEquals</string>
<key>userInfo</key>
<dict>
<key>BuildVersion</key>
<string>21G5061c</string>
</dict>
</dict>
<dict>
<key>ruleIdentifier</key>
<string>IOSBuildVersionEquals</string>
<key>userInfo</key>
<dict>
<key>BuildVersion</key>
<string>21G5066d</string>
</dict>
</dict>
<dict>
<key>ruleIdentifier</key>
<string>IOSBuildVersionEquals</string>
<key>userInfo</key>
<dict>
<key>BuildVersion</key>
<string>21G5075a</string>
</dict>
</dict>
<dict>
<key>ruleIdentifier</key>
<string>IOSBuildVersionEquals</string>
<key>userInfo</key>
<dict>
<key>BuildVersion</key>
<string>22A5282m</string>
</dict>
</dict>
<dict>
<key>ruleIdentifier</key>
<string>IOSBuildVersionEquals</string>
<key>userInfo</key>
<dict>
<key>BuildVersion</key>
<string>22A5297f</string>
</dict>
</dict>
<dict>
<key>ruleIdentifier</key>
<string>IOSBuildVersionEquals</string>
<key>userInfo</key>
<dict>
<key>BuildVersion</key>
<string>22A5307f</string>
</dict>
</dict>
<dict>
<key>ruleIdentifier</key>
<string>IOSBuildVersionEquals</string>
<key>userInfo</key>
<dict>
<key>BuildVersion</key>
<string>22A5326f</string>
</dict>
</dict>
<dict>
<key>ruleIdentifier</key>
<string>IOSBuildVersionEquals</string>
<key>userInfo</key>
<dict>
<key>BuildVersion</key>
<string>22A5338b</string>
</dict>
</dict>
<dict>
<key>ruleIdentifier</key>
<string>IOSBuildVersionEquals</string>
<key>userInfo</key>
<dict>
<key>BuildVersion</key>
<string>22A5346a</string>
</dict>
</dict>
<dict>
<key>ruleIdentifier</key>
<string>IOSBuildVersionEquals</string>
<key>userInfo</key>
<dict>
<key>BuildVersion</key>
<string>22A5350a</string>
</dict>
</dict>
<dict>
<key>ruleIdentifier</key>
<string>WatchOSBuildVersionEquals</string>
<key>userInfo</key>
<dict>
<key>BuildVersion</key>
<string>21T5545f</string>
</dict>
</dict>
<dict>
<key>ruleIdentifier</key>
<string>WatchOSBuildVersionEquals</string>
<key>userInfo</key>
<dict>
<key>BuildVersion</key>
<string>21T5555d</string>
</dict>
</dict>
<dict>
<key>ruleIdentifier</key>
<string>WatchOSBuildVersionEquals</string>
<key>userInfo</key>
<dict>
<key>BuildVersion</key>
<string>21T5560d</string>
</dict>
</dict>
<dict>
<key>ruleIdentifier</key>
<string>WatchOSBuildVersionEquals</string>
<key>userInfo</key>
<dict>
<key>BuildVersion</key>
<string>21T5571a</string>
</dict>
</dict>
<dict>
<key>ruleIdentifier</key>
<string>WatchOSBuildVersionEquals</string>
<key>userInfo</key>
<dict>
<key>BuildVersion</key>
<string>21U5551b</string>
</dict>
</dict>
<dict>
<key>ruleIdentifier</key>
<string>WatchOSBuildVersionEquals</string>
<key>userInfo</key>
<dict>
<key>BuildVersion</key>
<string>21U5560b</string>
</dict>
</dict>
<dict>
<key>ruleIdentifier</key>
<string>WatchOSBuildVersionEquals</string>
<key>userInfo</key>
<dict>
<key>BuildVersion</key>
<string>21U5565c</string>
</dict>
</dict>
<dict>
<key>ruleIdentifier</key>
<string>WatchOSBuildVersionEquals</string>
<key>userInfo</key>
<dict>
<key>BuildVersion</key>
<string>21U5574a</string>
</dict>
</dict>
<dict>
<key>ruleIdentifier</key>
<string>WatchOSBuildVersionEquals</string>
<key>userInfo</key>
<dict>
<key>BuildVersion</key>
<string>22R5284o</string>
</dict>
</dict>
<dict>
<key>ruleIdentifier</key>
<string>WatchOSBuildVersionEquals</string>
<key>userInfo</key>
<dict>
<key>BuildVersion</key>
<string>22R5299d</string>
</dict>
</dict>
<dict>
<key>ruleIdentifier</key>
<string>WatchOSBuildVersionEquals</string>
<key>userInfo</key>
<dict>
<key>BuildVersion</key>
<string>22R5309f</string>
</dict>
</dict>
<dict>
<key>ruleIdentifier</key>
<string>WatchOSBuildVersionEquals</string>
<key>userInfo</key>
<dict>
<key>BuildVersion</key>
<string>22R5318h</string>
</dict>
</dict>
<dict>
<key>ruleIdentifier</key>
<string>WatchOSBuildVersionEquals</string>
<key>userInfo</key>
<dict>
<key>BuildVersion</key>
<string>22R5328e</string>
</dict>
</dict>
<dict>
<key>ruleIdentifier</key>
<string>WatchOSBuildVersionEquals</string>
<key>userInfo</key>
<dict>
<key>BuildVersion</key>
<string>22R5340a</string>
</dict>
</dict>
<dict>
<key>ruleIdentifier</key>
<string>WatchOSBuildVersionEquals</string>
<key>userInfo</key>
<dict>
<key>BuildVersion</key>
<string>22R5348a</string>
</dict>
</dict>
</array>
</dict>
</dict>
</dict>
</plist>
Ok guys.
I just got an Ultra 2 with Oxygen feature enabled.
What code/plist file should I post here to study and compare?
Let me know.
Thank you,
Vin
BTW, just checked the first code, and as I remember there was only 3 different files right? we have more now... looks like ImReker add some new stuff in here. Let's play with it.
Thank you!!
Vin
FYI I'm using iOS 18.2 and WatchOS 11.2.
Preparing backup right now.
V
Great!
Let us know what works with these new 6 files dated 12/09/2024.
Thanks ImReker for the new files.
FYI I'm using iOS 18.2 and WatchOS 11.2.
Preparing backup right now.
V
Hi Vinixtor. Merry Christmas!
How did it go with the 6 new files posted by ImReker?
Do they activate ECG, Atrial Fibrillation(IRNF) and Sleep Apnea Notify?
Does anybody have tried these 6 new files successfully?
@katofelinus
These six files are used in iOS 18.2 and WatchOS 11.2.
On watch ultra 2,
ECG works,
whereas AFib, Sleep Apnea, and Oxygen sensors don't.
Thanks @imReker
@katofelinus These six files are used in iOS 18.2 and WatchOS 11.2. On watch ultra 2, ECG works, whereas AFib, Sleep Apnea, and Oxygen sensors don't.
Thanks @imReker
Thanks for the tip
Hello! Used these files today, Jan 2nd 2025 and it worked! Only ECG though but this is great. Thank you!
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.
I tried the following scenarios:
Scenario 1:
Scenario 2:
Scenario 3:
For all the above mentioned scenarios, I also made changes to "com.apple.private.health.feature-properties.SleepApneaNotifications.companion" file and copied values from file "com.apple.private.health.feature-properties.SleepingWristTemperatureMeasurements.companion" because sleeping wrist temperature is working from me.
Unfortunately, none of the scenarios worked.
My guess is that we need some extra files which are generated only on Apple Watches having these features enabled. So, if we someone who has these features enabled can share those files, then we will be able to activate on our side.