- Home /
Non-PIE Binary (IOS Invalid Binary) using unity 4
Hi All,
Today i was uploading my first game using unity 4 but it got rejected, reason invalid binary and below listed are the reasons
Non-PIE Binary - The executable 'Catchy Basket 2.app' is not a Position Independent Executable. Please ensure that your build settings are configured to create PIE executables.
I have never experienced something like this with previous versions of unity, can someone please help me out with this.
Thanks in Advance
This seems to have something to do with new apple rules for iPhone 5 support, more info here:
I have the same issue also, it says app is waiting for review, but also sent a mail saying non PIE compliant. So I found the 2 places in build settings, adjusted those, re-built and re-submitted but I still got the same errors. I think its to do with building to OS ver 5.0 or newer, so could maybe try building to older target. Or it could be plugins or libs included with the project are pre-built, with non compliant PI$$anonymous$$ In which case there is no fix except to remove the plugins, or contact them and ask for PIE compliant ones... but no way to tell which plugin(s) that might be. Did your app get rejected, or just a warning ?
@JonnyHilly : my app got rejected(reason invalid binary)
$$anonymous$$y issue was resolved in Unity 4.2. We were on 4.1.5f1.
Answer by Bogdan · Jun 17, 2013 at 02:19 PM
Hi,
My application had the same problem, but it got approved by Apple. The problem seems to be caused by Unity. If inside your Asset folder you have a "Plugins" folder the dll file auto-generated by Unity it cannot be configured to Non-PIE Binary. (you can experiment that by just creating an empty project with a "Plugins" folder inside "Assets"),
Answer by vonchor · Jul 15, 2013 at 12:39 PM
It does seem to be a Unity issue. If you look in the project tree "issues" subsection (left pane of Xcode when set to the '!' (warnings/errors) pane, you'll see Apple Mach O Linker warning "PIE disabled ....". Click that and you'll be able to expand to see what's in this image grab. So it's something to do with Unity and how it's building for Mono.