No problems with published App Store Apps at all but I am having problems installing in-house developed Apps on registered devices. I am having a normal Developer Apple Account (not Business one) and the app did install on many devices already but refuses to install on new any more. I see the icon, it starts to install then suddenly stops with the message "Unable to Download App. ... could not be downloaded this time" -> Done or Retry. The icon stays grayed out. The logs look good, it says "status: Acknowledged" to the install command, no errors reported.
What may I be doing wrong?
When you say devices do you mean iphones and ipads? Does this occur on both devices? Also try to check iOS version or removing the app on one of the ones that successfully deployed and try to install it again. That way you can try to figure what's causing the issue.
This is a tablet app, no iPhone support. I did remove the App from one device as you have suggested but this does not change anything. The app cannot be installed on new devices (Tablets) with the same iOS version.
the certificate expires at Jul 05, 2019.
I did export the app as Ad Hoc in Xcode, not as Enterprise (we do not own Business Apple Account) but if this is a problem why was I able to install the App on ~30 devices successfully?
Finally, I've found the problem.
All starts with the Developer Apple Account. With this account one can develop and sign Apps to be distributed in AppStore or as Ad Hoc. Ad Hoc means a list of already registered in this account devices. If a target device is not registered by Xcode in this account the provisioning will fail (the App wont install).
I did open the file named embedded.mobileprovision inside of .ipa file and saw listed all registered in my account iOS devices the app may be installed on, no less, no more.
Conslusion: In order to distribute In-House developed Apps to unlimited amount of devices an Enterprise Developer Account is needed with which can be generated In-House mobile provisions profiles not limited to dedicated list of registered devices.
In this case embedded.mobileprovision contains a key as following:
and not :