How to fix "signing key not found." on Mac when building iOS

I can’t get the Launch to work on my iOS device when running on Mac. Followed tutorial, didn’t work.

Get error:“Signing key not found. The app could not be digitally signed, because the signing key is not configured.”

Eventually revoked, deleted and recreated all my dev keys, profiles, and certs to make sure it wasn’t an old one causing confusion. I am able to build and load a native xcode project on device, but can’t get past this error in Unreal. What exactly is this issue and what further can I try to troubleshoot it?

Here’s what I found in the source…

https://github.com/EpicGames/UnrealEngine/blob/1d429763ca85bce5a9fc40e7a4848e4a00ac42a8/Engine/Source/Developer/iOS/IOSTargetPlatform/Private/IOSTargetPlatform.cpp

It’s happening during the execution of FIOSTargetPlatform::DoesntHaveRequirements, when Unreal is actually trying to Mono along with iphonepackager.exe on Mac’s to check whether a build is possible.

It looks like this error happens when mono is used to run validation with the unrealiphonepackager.exe using the command line Validate Engine -project. Why would this be returning this error 12 or 13? I looked at the command line options and didn’t see a way to setup the signing key from command line. Isn’t it going to always return this error on Mac, then? Does iphonepackager know how to check a mac for the right config if it can’t ever launch a GUI and has no command line config function when running from Mono?

I can’t use any of the command line functions that display interface on Mac when running from Mono like Unreal does because iphonepackager.exe throws System.TypeInitializationException: An exception was thrown by the type initializer for System.Windows.Forms.ThemeEngine.

So, I have 2 specific ideas about workaround/fix?

  • Does this check even need to happen on Mac? If I know i’m configured in xcode, can I just skip this check with the iphonepackager.exe? How can I compile iphonepackager.exe myself? Is the source for iphonepackager.exe on github? (I’ll look)
  • Does a command line function need to be added to iphonepackager.exe that makes it possible to configure the key and profile with iphonepackager.exe so it doesn’t return an error on Mac?

Help!

Thanks!

Hi, autonomous,
I understand you’ve followed the steps under the iOS Quick Start located here: Setting Up an Unreal Engine Project for iOS | Unreal Engine 5.1 Documentation

However, please verify that you followed the link to the iOS Developer site and registered to be granted permission from Apple to publish to an iOS Device (from Step 4: “iOS Provisioning-Add Devices”) here: Sign In - Apple

Thanks

Hi , yes. I’m able to build on the device from xcode using a standard project, and triple-checked all the profiles, certs and devices are valid. What could specifically be causing the iphonepackager.exe to throw this error on Mac? What does it check for on Mac? Does iphonepackager actually need to be configured on Mac or does it know what to check for?

Yes on mac, IPP uses the certtool to find the signing certificate that is referenced by the provision which matches the game bundle identifier. If it is failing this means one of three things: 1) The provision that was found doesn’t have a matching signing certificate, 2) the matching signing certificate has expired, or 3) there is a bug in the detection code. I ran the detection algorithm through all of our potential certificates and cases, but that doesn’t mean that was exhaustive.

If you could post your editor log from a run which fails, I should be able to determine which of the three is the case, or at least have more information as the IPhonePackager command is logged to that log and will show me what it finds.

-Pete

Ok, we may have figured out what is going on. We just discovered that certtool can’t see the signing certificates in the System Keychain, but can in the Login Keychain. So if your certificates are in the System Keychain, that might be the problem.

-Pete

I have the same problem, and my cert is in login chain, but the problem still occurs. Is there any solutions?

I can even run the app by directly use xcode’s build: IOS->xxxx’s iphone, but during launch or packaging, the error just occured

Can you post the log from the editor when the error occurs? This isn’t occurring for anyone here, so I will need to see what IPP is doing via your log.

-Pete

ok, I just found some new commands today which will allow me to better search for certs in all keychains, so this problem will be fixed in 4.6, but I don’t have a good solution for you on 4.5.1

-Pete

Still have the same error,keep on saying Expired in certification field at iOS setting.My version is 4.10,HELP PLEASE!