Xamarin App Rejected – Position Independent Executable

Recently, my Xamarin mobile app was rejected from the App store with the following error.

Non-PIE Binary – The executable ‘appname.app’ is not a Position Independent Executable. Please ensure that your build settings are configured to create PIE executables.

Turns out Apple recently introduced an extra step in the build process , which now requires your app to be built as Position Independent Executable (PIE).  Position Independent Executable (PIE) applications can be loaded at a random memory address when run. This has security benefits for your application. iOS 4.3 or later, and OS X 10.7 or later, fully support PIE executables.

Fortunately, Xamarin has also updated their framework to support building applications as PIE.  You can find this update via the Beta Channel, Xamarin iOS 6.3.7 to be exact.  So any native executable is now built as PIE by default.

I hope anyone who runs into the PIE issue finds this helpful.

Advertisements
Tagged , , ,

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: