Troubleshooting iTunesConnect Invalid Binary with Xamarin Project


<whypostthis>I am trying to get help in StackOverflow but because I do not have a 10 reputation, I used stack much, I cannot add more than one hyperlink and i cannot add any images</whypostthis>

StackOverflow link – http://stackoverflow.com/questions/29037759/invalid-binary-in-itunesconnect-on-xamarin-project 

Begin Updates

March 13th, 2015 – Section added at the bottom to discuss Troubleshooting the issue of Converting a Xamarin Application to using the Unified API

End Updates

My Issue

Supported by the Xamarin guidance here http://developer.xamarin.com/guides/ios/deployment,_testing,_and_metrics/app_distribution_overview/publishing_to_the_app_store/ I used the App Loader tool (recently downloaded version 3) and uploaded my .ipa file. Everything indicates success but after a few minutes, it moves from “uploaded” to “invalid binary”

I have checked stackoverflow and done a few suggestions ive double-checked all my image files and the build for 64 bit etc. Any help you can provide is appreciated.

My Project is Public on Github

Project – https://github.com/fabianwilliams/t4s/tree/wip (most up-to-date build is on the WIP branch)

the Plist.info file is here — https://github.com/fabianwilliams/t4s/blob/wip/t4s/Info.plist

Supporting Images and Explanation along the way

After following the guidance,I have an .ipa file in the below location

clip_image001

Then, I open up Application Loader which i only downloaded a few days ago, it is at version 3 and click “Choose” pick the file and then i get

image

Then after clicking next it takes some time but get to this below

clip_image005

Then when i click next it ends with a message indicating everything is ok.

clip_image007

Then, I go into iTunes Connect under my App and under Pre Release and I see the below which indicates its uploaded. See build 1.10

clip_image009

Then, after a minute or two, it goes to “Invalid Binary” as you can see below.

clip_image011

Now, there are a few suggestions out there on Stack that say to look over your plist.info file, make sure your images are set properly, remove some references to the iPad under bundle config, and also I got an email from apple saying that my app had issues and for me to make sure that i am building towards 64-bit, I checked Xamarin docs and they say to check below, and it seems legit

clip_image013

Here are some other items that may help in figuring this out

clip_image015

and

clip_image016

And

clip_image018

And

clip_image020

Troubleshooting

Updates for March 13th 2015

After speaking with some good folks Xamarin, who graciously offered to help me with fixing this issue, and also speaking with two great Mobile Devs Alex and Alexey I have made some progress.

Make sure you are using 64-Bit Builds i.e. Unified API

So, it seems that my build, that is the build that comes with the WAMS sample code is not under the Unified API, but fortunately there is a way to convert it. see this post here about upgrading your solution. The problem that i have now is that while i can take out and replace the WAMS assembly quite easily and the project recognizes it and is ok with that, the SQLitestore is not that simple. I am trying to figure out how to get that seen under the Unified API

So, we go about removing the WAMS assembly, but you cant do that without removing SQLLiteStore because it is a dependency

image

and we now have this

image

So now we need to figure this part out

Summary

This is for a session I am delivering in London in April at the Evolutions SharePoint Conf, this app is all done, tested and working, I just want to wrap this up by having my audience members use it in my session. This also is my continued evangelism of the Xamarin product & its workings with Microsoft Azure and Office 365. All this work is public, showcasing all the ins and outs of doing a project using the workloads of Azure Mobile Services. Any help in sorting this out is greatly appreciated.

Leave a comment

Your email address will not be published. Required fields are marked *