Not an iPhone, but my solution to this is LineageOS + microG, where I just disable push notifications when I'm not working, or enable them for just the few select apps if I am expecting some messages there. The price for this is that I don't always receive the social app message when it is sent, but that's fine by me.