I cannot find a way to package/launch for iOS or tvOS on 4.13.1. Note that the SAME provision and SAME certificate work fine on 4.12.5 with another project.
This is OS X 10.11.6, UE4.13.1 from launcher, Xcode 8.0.
Here is the [output log][1] of starting the engine, selecting the cert, and attempting to launch on tvOS (same thing happens if you try to package, or if you try iOS).
I tried replacing it with the literal string cowboysmash and CowboySmash, with no change in behavior, same error. My provision on the apple dev site is *, which ought to match any value (and has in past projects). This exact provision/certificate works for another project of mine in 4.12.5. According to the output log, [PROJECT_NAME] is being replaced by CowboySmash.
I launched Keychain Access and found any old or unused certificates and deleted them (I couldn’t find any profiles at all in there). I restarted the project and attempted to package again. No change. Same error.
I don’t understand. If it is this broken for me, why wouldn’t it be broken for everyone else?
Log into your Apple Dev account and make sure you are using the exact same Bundle Identifier regardless of what worked before (Changes have been made to UE4.13.1)
Do not check any specific Certificates and Provisions in the iOS section of your Project Settings. Allow UE 4.13 to select automatically.
Make sure you are packaging for Development if your Certs & Provisions or set up for Development… If packaging for Distribution, make sure your Certs & Provisions are set up for Distribution
Package to a folder on your desktop for troubleshooting purposes.
If packaging is still failing using these parameters, please post a new failed output log.
I can’t use the exact same bundle identifier. My bundle identifier in my provision is * so that I can use one development provision for all my projects. Has UE’s code been altered so that glob-style matching no longer works, despite Apple allowing it? I attempted to set * in the project settings, but it yelled at me for using a bad character.
I unchecked the certificate and provision. Both turned green. No effect. Same errors.
Yes, this is a development provision and I’m trying to package for development.
There are no network or external drives involved, if that’s what you mean. I have been trying to package to a folder in my home directory on my local drive. I tried packaging specifically to the Desktop folder as well, no change. Same errors.
Thanks for everything so far. What else can I try?
,
answerhub was being weird and not letting me leave comments because I wasn’t logged in…even though I was logged in. But it let me make another “answer” as a reply to you…so see the other answer for my reply.
I deleted all of my certificates and provisions and started again from scratch, carefully following all instructions. I tried with both a wildcard (*) app identifier that the tutorial assures will work fine, and with an app identifier typed out exactly as I have it in my project.
In all cases, the certificate and provision show up in green.
In all cases, the message log claims that neither my provision nor my certificate is found when I try to package.
I, too, am experiencing this problem with 4.13.1. I’ve cleaned the mobileprovision files as suggested in multiple threads and am explicitly specifying the bundle identifier. NOTE - I’ve successfully built, developed, and deployed a UE4 app to the App Store with 4.12.5 (and did not experience this issue).
I was able to work around the problem by manually importing the mobileprovision file and selecting it. UE4 seems to have a problem matching the imported mobileprovision files during packaging but not in the project settings window (where it shows the matching mobileprovision file that was imported previously).
I notice your provisions are for tvOS… I have another user having problems with building/packaging for tvOS only, but other Dev certs work fine. Please try hiding your tvOS Certs and Provisions temporarily and try new ones for iOS?
Correct, I have been trying to package for only tvOS while debugging this issue, though initially it would not work for either iOS or tvOS.
I added an iOS provision, and packaging for iOS works! The even crazier thing is that packaging for tvOS now works as well!!! Thank you, thank you, thank you!!!
So in a nutshell, what finally worked for me was (hopefully not everyone has to go to this extreme):
Delete and revoke every provision and certificate (you have ever made) in your Apple account, and delete the certificate from your Keychain Access too. (Very ouch. I really hope this wasn’t a necessary part of it, but it’s what I did.)
Create a new certificate, download it, install it into Keychain Access, set it to always trusted
Create a tvOS provision (selecting an app id and devices), put it in “~/Library/MobileDevice/Provisioning Profiles”
Create an iOS provision (selecting an app id and devices), put it in “~/Library/MobileDevice/Provisioning Profiles”
Restart Unreal Engine 4.13.1
Make sure neither provision nor your certificate are selected
Package for iOS and tvOS now work.
Leaving out the iOS provision was not enough to get tvOS packaging working.
What a nightmare! I hope I never have to go through this again!
I posted slightly too soon. tvOS now mostly packages, but at the very end signing fails with:
Provisioning profile "AgilePerception_tvOSCowboySmashProvision" has app ID "com.agileperception.cowboysmash", which does not match the bundle ID "com.YourCompany.CowboySmash".
That is definitely another bug, though, seeing as how I typed in the identifier myself:
If I use a wildcard provision, then tvOS development signing will work. This is an acceptable workaround for development, but if matching won’t work on the distribution side of things then I’ll be in a world of hurt again…
Hey , and MichaelY below, could you guys provide the whole log from the editor session? This will help me determine where the bug lies. Also, what Xcode are you utilizing Xcode 7.x or Xcode 8?
@Ravlek Absolutely! I would love to have this fixed. I put the non-wildcard tvOS provision back in and tried to package so that signing failed again.
I’m not sure exactly what logs you want, so I did some research and went to ~/Library/Logs/Unreal Engine/LocalBuildLogs and got the 10 log files that all had a really recent timestamp on them. If that is not what you wanted, please let me know where to get the log you want and I will go get it for you.
This looks like the bundle id is just not getting read properly from the ini files. Could you go to your DefaultEngine.ini in your Game/Config directory and verify that it is com.agileperception.comboysmash? It should be based on your screen shot from above, but I just want to make sure.