I've also seen it explained that it's part of their toolset in extracting maximum "value" from a customer.
Richer customers self-select to pay higher prices without the app as they can't be bothered faffing around to find the digital coupon/deal/whatever combination (you can, of course, only use one of the wide range of deals at a time). Poorer customers will invest the time in finding and using a deal.
They both get the same sandwich, but McD got them to pay different prices for it.