Are there technical limitations for why it wouldn’t happen?
Apple's CPUs are based on ARM architecture that won't run applications compiled for Intel.
For a lot of modern applications written specifically for MacOS, using Apple's frameworks for graphics etc. re-compiling an ARM version might be a 10 minute job - for others, if there's lots of legacy code, it could entail a major re-write. I suspect the main casualties would be the likes of MS Office, Adobe CS etc.
Now, Apple have changed CPU architectures several times in the past ( 6502 -> 68000 -> PPC -> Intel) so they know all about making "fat binaries" that include the code for multiple processors. However, in the past, the change was usually associated with a big improvement in performance, so they could use emulation to run code for old processors on the new architecture at reasonable speed during the transition period. Currently, ARM is - at best - only "as good as" the lower end Intel chips, so they don't have that advantage.
On the other hand, some of Apple's Mac woes have been due to Intel's production problems, and going ARM would allow Apple complete freedom in speccing their chips - which could include building workstation-class ARM processors (expensive, but Apple have money). The original ARM processor, back in the late 80s,
was a workstation chip that could run rings around its Intel contemporaries (the fact that it was so power-efficient that the first prototype worked even though they forgot to connect up the main power was just a happy coincidence) so those days could come again. But not overnight. In its current form, ARM's main performance trick is that it can cram more cores onto a chip than Intel - which is good for multi-users or multiple Virtual Machines so there's a lot of interest in server-class ARM chips at the moment.
In the short term, ARM would probably work well in the rMB and low-end MBP, both in terms of performance and software to suit the users of those machines, but the higher-end MBPs, iMacs and Mac Pro would still need Intel chips that had high performance and supported pro software. That would fragment the range somewhat.
Also, Apple has put a lot of faith into Thunderbolt and I doubt that is coming to ARM any time soon.
So I think an ARM-based Mac is more feasible than some people think - but not particularly likely.
Maybe a more interesting idea is a Mac-iPad hybrid or convertible (ARM in the display section, Intel in the keyboard section) with iOS productivity/comms apps running on the low-power ARM and the Intel processor firing up MacOS on demand when "heavy lifting" was required.
[doublepost=1506003787][/doublepost]
It would be a huge undertaking for Apple and developers to transition using its own cpu in Macbooks, iMacs, and Mac Pros.
I think that maybe, today, more apps are written in ObjC/Swift and use Apple high-level software frameworks in favour of processor-specific code. I suspect that the Apple-centric developers would have a fairly easy time - many of them have iOS versions of their apps as well and I assume that they share as much code as possible. Its the big MacOS/Windows apps stuffed with legacy code that are likely to take time: but again, maybe they are less significant today than they were in 2005.
I'd also be very surprised if there isn't a locked room somewhere at Apple containing a lash-up ARM system running Mac OS.