IOS Build / Deployment Failed

Hi there!

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!

Darren

Sigh… Back to the certificate error when I enable the plugin :frowning:

Log attached.

Really need to get this packaged for a deadline

122153-log.txt (798 KB)

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…)

https://developer.apple.com/library/content/documentation/IDEs/Conceptual/AppDistributionGuide/MaintainingCertificates/MaintainingCertificates.html

Hi Darren Bailey,

Check out the following forum thread: Google Cardboard on an iOS device?

If you do not find the answer you’re looking for, please respond with the following information:

  1. What type of system are you developing on?
  2. What version of UE4 are you working in?
  3. 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:

rsync error: some files/attrs were not transferred

Rsync error 23: some files were not transferred…

Rsync Error 23: Can I tell which files were not transfered?

Please review those links and, if they do not help you resolve the issue, respond with the requested information above.

Thanks,

.

Hi there!

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.

Hi ,

Yeah I can 100% confirm that latest certificates are on the System Keychain of the Remote Mac.

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.

This appears to be the bottom line issue from your logs, after fixing the lightpropagation plugin issue:

** BUILD FAILED **IPP ERROR: RPCCommand MakeApp failed with return code Error_RemoteCertificatesNotFound

The link I sent before was the top response but looking through the following posts, I believe you will find a solution to problem:

Remote build fails to Sign ipa correctly and fails the build. (With solution)

Remote build: Error_RemoteCertificatesNotFoundIPP

Remote build failing to package stub ipa (RSync)

Currently moving backwards it seems… despite my certificates showing as valid and selected, won’t even build so can’t check that solution >.<

Also, heres my Mac Keychain, I ran that code in the terminal too

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!?

How would I do that? Unreal just spits out the .IPA file wasn’t aware I could edit the Plist after building.

Edit: OK Trying to reupload after adding that into the file!

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

When you added the info in the Additional Plist field did you utilize \n to indicate a new line?

I managed to get it work using the following:

<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)

I think you should check your textures. I get this outcome often when not using power of 2 textures.