Cannot upload to App Store - url scheme invalid

Compiles successfully, but when I try to upload with Application Loader I get this error:

ERROR ITMS-90158: “The following URL schemes found in your app are not in the correct format : {}. URL schemes need to begin with an alphabetic character, and be comprised of alphanumeric characters, the period, the hyphen or the plus sign only. Please see RFC1738 for more detail.”

Hi :

I could not find much on this specific error, however, I did come across an Asian forum discussing the exact same error…

While it was not clear what the solution was, they did show a string of numbers defined as the Apple Collaborator ID that is not present in your post above where you have posted “{}.”

Please review the steps on the App Distribution Guide and make sure your Apple ID is added correctly in XCode.

-.

In the actual error in between the {} was the name of my project. I had typed that in when posting the error, red acting the name of my project for privacy reasons, but when it posted it just displayed blank.

So again, I have what Unreal engine says is a successful build, but when I upload it fails to validate.

I figured it out. The URL scheme is taken form the project name. My project name had an underscore in it, which Apple doesn’t like. I changed it to a hyphen, but then unreal called it an unknown symbol on packaging. So I took it out completely and made it on alphanumeric name and Apple accepted that.

Now that we know this is an issue, maybe Unreal can fail to build when it encounters illegal characters in an ios build, or autocorrect them?

Glad you were able to piece together the solution… As far as failing a build due to this particular error…

“ERROR ITMS-90158” refers to a problem submitting to the App store in general, not a problem with Unreal Engine that should fail a package. Looking up this issue on Apple’s developer leads to this solution:

ERROR ITMS-900158 while submitting application on itunes : “URL schemes need to begin with an alphabetic character, and be comprised of alphanumeric characters, the period, the hyphen or the plus sign only.”

Again this could be from any application, not just one generated from UE4.

Yes, this is a general Apple issue. Your right, any app could have this error in it, not just one made by Unreal. But since I’m only making apps in Unreal, it’s the only one I care about. Unreal didn’t do anything wrong - hell, I named the project, so it was ultimately my fault - but Unreal did create the ipa with an invalid URL Scheme name, which it took from the project name, which again was created by me. I was merely suggesting that a simple check by the compiler for invalid characters would help avoid confusion in the future, now that we are aware of it. Unreal could auto-correct, or simply pop up a warning. Just making a note of it in the help docs would be a big help for those of us stumbling over the issue for the first time.

I’ve added the following Feature Request: UE-32388. Should this be implemented into the Engine we will notify you with an update to this post.

Thanks for the feedback.

I just ran into this in UE 4.16.1. I just wasted over an hour of build time to get a bad build, and then another hour to make a new one. This really should be fixed.

My suggestion is: when creating the URL scheme for an iOS app, remove the characters that cause the problem.

Or, display a warning when creating a project, that certain characters in a project name will cause issues for certain platforms. Then it’s the user’s option to use those characters in a project title (if they aren’t targeting an affected platform), or be warned not to so they could save some headaches and wasted time.

This issue is still happening in version 4.18. The URL scheme generation code should remove non-alphanumeric characters.

I have the same error message, and it seems the problem is the project name. Not simply the bundle name mind you, but the actual file name of the project! Problem is … there’s no way to change that now?! I’ve tried to rename the whole project manually, but from googling a bit that seems to only work on Blueprint-only projects. In our project, there’s a bit of C++ code. Yesterday I spent hours trying to rename everything and going into all .CS files, but all of that just led to the project not even opening anymore. Is there any way I can tell Unreal to change the project name (remove the underscore) when compiling/packaging?

1 Like