Hi, I’m trying to test a simple iOS app made in UE4 4.14 on an iOS device. I followed instructions found here: [iOS Quick Start]. My certificate has imported correctly, however, I am unable to import the provision profile.
I originally tried using the IPP App in Engine/Binaries/DotNET/IOS without success (No green checkmark ever appeared). I then read somewhere that that functionality was being migrated to the Unreal editor itself, and attempted importing from within the editor.
Upon clicking “Import Provision”, this pop-up appears:
Upon clicking “OK”, I am able to choose the .mobileprovision file, and the editor begins importing it:
However, after about 10 seconds, the editor again says “No provisions found” above “Import Provision”, exactly as seen in the first screenshot.
In the output log, this IPP Error occurs:
LogTemp:Display: IPP ERROR: Application exception: System.ArgumentOutOfRangeException: Length cannot be less than zero.
LogTemp:Display: Parameter name: length
LogTemp:Display: at System.String.Substring(Int32 startIndex, Int32 length)
LogTemp:Display: at iPhonePackager.CodeSignatureBuilder.FindProvisions(String CFBundleIdentifier)
LogTemp:Display: at iPhonePackager.Program.Main(String args)
I have tried this with a new project (first person, mobile, blueprint) with the same result.
Does anyone have any idea what is causing the Provision not to import? Any help is appreciated. I am at a loss here and this silly little app was supposed to be a Christmas present (serves me right for waiting 'till the last minute!)
In the first line you write that you made your iOS app on an iOS Device (I assume you mean a Mac). First, if possible, use the IPP.app to import the provision again -do not worry about it highlighting green. However, uncheck the boxes for Certificates and provisions. UE4 will pick the appropriate provisions automatically.
If you cannot do this, please download a new set of Certificates and Provisions. Also, please provide the following information:
- Do you have an active Apple Developer account, or are you using freecerts and provisions? (Free certs and provisions expire in 24 hours)
- If you can upload the provisions using the IPP.app, then please open the Output Log in the Editor, right-click and select “clear.” Then try to launch directly onto the iOS device. If it fails, cut and paste the entire contents of the Output Log into a text file and upload here.
Thanks for the quick response. I meant I am trying to test an iOS app on an iOS device, an iPhone or iPad in particular (Sorry, I should have been more clear there). I am using a Windows 10 machine and am using a blueprint-only project.
I tried re-downloading the Certificate and Provision, but the Provision still failed to import. I also tried creating a new Provision using an explicit App ID (I used a wildcard App ID previously) but the Provision still failed to import with the same IPP Error as before.
I tried using the IPP app to import the second Provision and did so successfully. The app packaged just fine and was able to load onto an iPhone.
Should I have used an explicit App ID in the first place, or was some other issue more likely to blame (for instance my relatively poor understanding of this whole process)?
Anyway, thanks very much for the help!
I’m glad to hear that you were able to import the second Provision sucessfully, however, I cannot say offhand why the first one did not import successfully other than iOS provisions & certifications are very precise so dates, times, bundle ids, etc. have to match exactly. In your initial description of the issue, when you tried to import the provision and it just failed to import without a warning that typically means the editor did not recognize the provision that you were trying to import as matching the currently loaded certification.
While I’m not sure why you were experiencing difficulty, I can describe how I have the most success (or least difficulty) when importing new certifications and provisions: Download the certifications and provisions at the same time to a folder in your documents. Then import them directly from your Project Settings>iOS (Certification first, Provisions second.) Before downloading, make sure your Bundle Identifier matches exactly as you have it while logged into your Apple ID.
If you try it this way and run into any difficulties in the future, let me know and we will look into this further.