I am preparing an app for ad hoc distribution via Test Flight. I have stepped through (successfully) all of the preparatory steps in this Ray Wenderlich article already (https:
One more option is, You have to keep eye on which source code you have is taking small time and get archive process done quickly. So from next time you will have to open this particular source code and perform archive, after that open your working source code and then try archive for that. You will get that done fast for working code as well.
For me, I have kept 2 source code separately.
So whenever I want to create ipa, I open this source code first and make archive then I close this code and perform archive for code I am currently working. This is bit lengthy process but surly it don't take that much of time as well as your system don't get hang.