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.
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.