App rejected, Unsupported Architecture

My Mac app recently got rejected by iTunes Connect. See below for error. Any idea as to what’s going on? I have submitted this app many times in the past and didn’t get this error.

Unsupported Architecture - Application executables may support either or both of the Intel architectures:

  • i386 (32-bit)
  • x86_64 (64-bit)

Other architectures may not be included in submitted binaries. Confirm that your Xcode project’s build settings include those architectures and no others.
Specifically, we found the following unsupported architectures in your binary:

  • i386 (in com.mycompanyname.myappname.pkg/Payload/myapp.app/Contents/Plugins/FileBrowserBundle.bundle/Contents/MacOS/FileBrowserBundle)

same here

.NET 4.x with both MONO and IL2CPP fails because the include some lib only support i386, and do not have x64. Only .NET 3.5 MONO works.

We’re shipping changes in the next 2018.2 release of Unity which remove the i386 slice from the Mono binary, so this should not be a problem any more.

This is a good opportunity to fix another bug that rejects our Mac builds.
Apple request to unlink the GameKit framework
Please put a choice in the Mac player settings to link/unlink the Gamekit framework.
This would be a very useful feature. Now we cannot submit, only with a dirty hack.

I’m not too familiar with this issue, but could you submit a bug report for this?

See this forum, its new: App links against the GameKit framework, reject by Apple Reviewer! - Unity Engine - Unity Discussions

I read old forums that had the same error, now it reappeared.

I think this is definitely worth a bug report. Can you submit one?

I read it in this old post: [URGENT]MAC App review team rejected because GameKit framework linked!

I can submit a new one.

My rejection did not mention Mono, but it mentioned my plugin FileBrowserBundle. Does macOS standalone support 32 bit or is it exclusively 64 bit (2017.4)? I’m not sure with how to proceed in regards to fixing this problem. I have submitted my app with this plugin many times in the past without issue.

See attachment, the inspector for my plugin does not even have an x86 option, only x64. Yet Apple still claims that it has x86.

Another thing that doesn’t make sense to me. Apple says that binaries must be i386 or x86_64, and that any other type will be rejected. By my binary IS x86, so I am totally complying to their request yet still getting rejected.

3578408--289112--Screen Shot 2018-07-27 at 3.46.22 PM.png

We’ve hit problems like this too.

You can check what slices your binaries have with ‘lipo’. For example, check your plugin in a built app using;
> lipo -info Your.app/Contents/Plugins/x86_64/YourPluginName

You can remove unwanted slices like;
> lipo Your.app/Contents/Plugins/x86_64/YourPluginName -thin x86_64 -output Your.app/Contents/Plugins/x86_64/YourPluginName

2 Likes

@greg-harding Thanks a bunch! You’re a life saver, my app has passed processing!

No problem - nice work!

This is because since January 2018 Apple no longer accepts architectures other than 64 bits. Recently I found the same problem, I finally solved it by eliminating the i386 architecture of each one of the plugins that contained it.

In the same way I also use “lipo” to solve it.

From terminal:

$ lipo [FolderWhereYourAppFileIs / Your.app / Contents / Plugins / PluginName.bundle / Contents / MacOS / PluginName] -output [FolderWhereYourAppFileIs / Your.app / Contents / Plugins / PluginName.bundle / Contents / MacOS / PluginName] -remove i386

I also notice that you may find other errors, such as the collision of the plugin if there is already a version of the app in the IOS Apple Store, for this you must modify the Info.plist of each plugin in the .app. You can change for example the , with that would be enough.

Another error that can result in the validation of the Mac Apple Store is this:
“unsealed contents present in the bundle root”

To fix it, it is convenient to delete all .meta files from all your plugins in the .app.

Although I must say that I’m still trying to solve another problem, due to the bad behavior of the fullscreen option in macOS, Apple keeps rejecting my app. ¬¬

Any help on the problem of fullscreen in macOS?

Thank you and good luck to those who develop an app for the Apple Store Mac!

1 Like

I have sent Bug report to Unity, but no one following my case. I suggest everyone send your bug report to Unity. Let them know we need publish to macStore. Not simply can build a mac app is enough.

Meet macStore requirement is the most important!
All other improvements are nothing, if you cannot publish to macStore.

1 Like

Using the latest 2018 beta, these files cause the error - with settings IL2CPP and .NET 3.5:

Contents/Frameworks/MonoBleedingEdge/MonoEmbedRuntime/osx/libMonoPosixHelper.dylib, Contents/Frameworks/MonoBleedingEdge/MonoEmbedRuntime/osx/libmonobdwgc-2.0.dylib

What’s the fix (I guess I’ll try setting .NET 4.0…)

Regarding these two files, the next 2018.2 patch release and the first 2018.3 beta (both yet to ship) should have the 32-bit slice removed from both files.