I take it back.. iOS does work perfectly. Sometimes I have to step away from testing it for a week, then I make changes to the iCloud management portal and the push notification gets sent to iOS using the exact same build.. no code changes. So there is some throttling of some sorts in iCloud, but more likely in iOS because I see them in the Console log but doesn't trigger the didReceive notification event sometimes in those throttled times. However, never have I seen this work for watchOS :(. Maybe it's not meant to if its a companion app to iOS (even though I have it set to "Supports running without iOS installation"). Wondering if anyone tried this with an independent watch app?? At this point, I'm thinking of letting iOS receive the push notification then use WatchConnectivity to tell the watch which maybe the recommended route but just more code and communication flows blah.. First Apple takes away AppGroup sharing with watchOS, then they didn't offer NSUbiquitousKeyValueStore for watchOS, now this.