So I’ve been trying to package up my IOS project for around 4 days now, and I just can’t seem to get it to work and really need some help.
I’m trying to use the Google Cardboard Plugin, so I’ve had to use the GitHub Version of the Engine on both my Windows machine and my Mac with remote build enabled. I’ve worked through the errors I was getting with the certificates and getting the machines talking thanks to the but I now seem to have hit a wall and can’t work it out!
I believe the issue now is relating to this line:
LogPlayLevel: UnrealBuildTool: ERROR: UBT ERROR: Failed to produce item: /Users/darren/UE4/Builds/WS137/C/CardboardSource/Binaries/IOS/Cardboard
Or a little above I receive this error:
LogPlayLevel: UnrealBuildTool: C:\UnrealEngine-release\Engine\Plugins\Blendables\LightPropagationVolume\Source\LightPropagationVolumeRuntime\Public\LightPropagationVolumeBlendable.h(7,10): error: ‘LightPropagationVolumeBlendable.generated.h’ file not found
I read that I should disable all plugins that I’m not using so the LightPropagation one is disabled.
Any help to fix this would be greatly appreciated! I’ve attached the full log in a text file too!
Why did you need to build the engine to use the google cardboard plugin? This might be a stupid question but I was able to run cardboard on an iphone without building the engine from source.
Otherwise at first glance it just looks like your certificates are not correctly installed on the machine. This is a bit of a pain in the backside…
LogPlayLevel: UnrealBuildTool: Check dependencies
LogPlayLevel: UnrealBuildTool: No signing certificate "iOS Development" found: No "iOS Development" signing certificate matching team ID "DKL829YZ32" with a private key was foun
Did you download and install the .cer file? I seem to remember loading files into the UE project settings also but might be wrong (generally I find this stuff breaks from time to time, and I fiddle, and it works again eventually…)
If you do not find the answer you’re looking for, please respond with the following information:
What type of system are you developing on?
What version of UE4 are you working in?
Are you working on a PC and remote building on a Mac?
Lastly, looking at your logs and by the description of the problem, I suggest leaving LightPropagation disabled. In your first log you are getting an rsync 23 error. I found these three links pertaining to this issue that may pertain to your case:
I’m building using the GoogleVR plugin as I’ve created a cardboard VR App that needs to be rolled out on IOS and Android. I did get it to build prior to making all these changes (And with the Google VR plugin disabled) but the Gyroscope wasn’t working on the iPhone.
I’m developing on Windows 10, using the latest branch of the engine from GitHub (Version: 4.14.3-0+++UE4+Release-4.14)
I’m working on Windows, and have the PC setup using VM-Ware + to remote build. I’ve also tried having an old MacBook but I still couldn’t the the package to sign.
Glancing over that thread it suggests that Google VR is supported from 4.13 onwards?
Regarding the certificates, I’ve tried remaking them at-least 15 times using the steps provided by Unreal on the Wiki but they seem very outdated.
I’ve been doing the following steps:
1: Clear all my existing certificates / mobile provisions.
2: Create a signing request from iPhone Packer.
3: Create a IOS Developer / Distribution Cerificate via Apple Developer Portal
4: Create a App ID (Keeping the Bundle / AppName same as Unreal)
5: Add Dev Device (iPhone 5)
5: Create Mobile Provision for IOS Developer / Distribution using Corresponding Certificates.
6: Download and install Certificates via Project Settings inside Unreal.
7: Add Certificates to Mac Keychain in the System Tab.
When remote building for IOS you will need to make sure the signing identity certificate is installed on the remote Mac in the System keychain. For a more in depth explanation, review this AnswerHub post: [Closed] Rsync: Remote Certificates Not Found.
Also make sure to re-enable the LightPropagation plug-in.
For the first issue on the PC, deselect the checkboxes in the Provisions and Certificates leaving all blank. The correct certs and provisions should highlight in bright green. Try to build, possible.
On the Mac, you have two Distribution provisions in your keychain. Keep the latest one and remove the other from the keychain without deleting from the computer. Try to remote build. If it fails, swap out the distribution provisions and try again.
So at this point you can remote build your distribution build without NSCameraUsageDescription in the data field, but you need that in order to upload it to the App Store… Have you tried manually adding this code to the Plist after successfully remote building?
Hi ,
Thanks for helping me with this! So I managed to actually get the IPA to build! Doing the steps you suggested didn’t have any effect, so I just removed everything from my Windows Machine and the Mac and started again with the Cert process.
Essentially the main difference this time was to remove everything from the Apple Developer Portal, and the Mac Keychain, and have Xcode completely handle all of the certificate process and export them to Windows at the end.
When I uploaded the app to the Appstore, I received the following:
Missing Info.plist key - This app attempts to access privacy-sensitive data without a usage description. The app’s Info.plist must contain an NSCameraUsageDescription key with a string value explaining to the user how the app uses this data.
Looking into this, it seems to be a security requirement for IOS 10, and people suggested the following:
NSCameraUsageDescription
NSCameraUsageDescription
$(PRODUCT_NAME) camera use.
In UE4 ->Project settings → iOS there is an extra PList data field, where you can add the text above.
When I add that into the PList field, I get a certificate not found error! Remove the code and it builds fine!?
After adding the change to the .Plist I try to reload the app and get a BundleIdentifier error from iTunes Connect. I’m guessing that’s because the IPA has been altered
<key>NSCameraUsageDescription</key>\n<string>$(PRODUCT_NAME) camera use.</string>
Quick update on progress. I managed to get the whole thing packaged, signed, accepted for TestFlight, but it just crashed on launch on multiple IOS devices using version 4.14, upgraded to 4.15 Preview and still crashed.
Decided to rebuild the entire scene in 4.13 (Migrating the Scene from 4.14 to 4.13 didn’t work which was expected) and its working via Test Flight.
I do feel there are some issues regarding the Certificate Process however, given that when I select to use my Distribution Certificate, along with my Distribution Mobile Provision it just fails saying the remote machine doesn’t have the Certificates again. But it will package for Shipping if I select my Developer Cert + Distribution Provision? Seems a bit off to me!
Can you build shipping game and launch on iOS now? I am at the similar situation now, certeficates works well, but app crashes on launch on iOS devices if it is Shipping build (both with and without Distribution flag)