I answered the what about provisioning last time. As far as ‘why’, I just attributed that to Apple’s control issues. I wanted to clarify what that means. After all, how are they actually controlling this?
The easy answer is that Apple controls provisioning by only allowing each provisioning file to work with 100 devices. 100 may sound like a lot if you’re just one person writing code for your machine and maybe that of two or three friends that are serving as your testers, but 100 can run out quickly if you’re a larger operation or if you give one person permission and then they stop working with you for whatever reason.
But what it really does is provides a limit to the number of times you can ‘work around’ their system. If there was no limit, then you are free to leave the walled garden and sell your apps to anyone and just provide them with the provisioning file along with your app. I’m sure it doesn’t matter what the number is to Apple, they just agree that you need some way to test on real devices, but want your ability to share to be limited to a number that is high enough for you, but low enough to never be a practical way for you to escape their control.