Hey William8888
I believe we have seen a similar crash internal, that has to do with removing the provision while the editor is open. This should be fixed in latest 4.7 but I’ll track down the bug to confirm.
To answer some of your original question
When to use Development
While you’re still iterating on a project, it’s best practice to package for Development, as this allows you to bring up console command for additional debugging resources. This is also the config that is used when you select launch on from the Level Editor Toolbar.
This will require a Development Certificate and Provision.
When to use Shipping
When you get closer to wanting to ship your game, you can switch to Shipping Build config but without "For Distribution. This allows you to test what the customer will be getting locally.
This will require the same Development Certificate and Provision used for Development Builds.
When to use "For Distribution"
The only time you want to check “For Distribution” is when you want to submit to the app store. Apple does not allow you to push to devices with builds signed for Distribution, this is their safe guard from people selling a product outside of the Apple Store. This is the case no matter how you develop for iOS.
This will require Distribution MobileProvision and your Distro Certificate and key pair.
There are a few other things to make sure you have set correctly such as Bundle Identifier.
If you’re unsure of what Certificates you have installed you can see them on windows with the Certificate Manager
- Click the Windows Start button in the taskbar and type “certmgr.msc”
- Launch this application
- Select Personal > Certificates
As post above to see what mobile provisions UE4 is looking at go to
- user/USERNAME/AppData\Local\Apple Computer\MobileDevice\Provisioning Profiles
It’s also good practice to name your MobileProvisions so it’s easy to identify which is which.
I typically do this with adding _Dev or _Distro to the name.
If you’re able to install but the Icon is grayed out, this most likely indicates that devices is not part of the mobile provision you signed the .ipa with.
Nick Bullard | Unreal Engine QA