Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Invalid Binary Error

An update for an already existing app I have was submitted this morning. The update was very minor barely any changes were made. Apple has now sent me this email stating..

the following issues must be corrected:..

Invalid Bundle Structure - Your package contains a bundle with the following issue: IPA bundle does not include a Payload directory.

How do I fix this?

like image 613
4GetFullOf Avatar asked Jun 12 '14 21:06

4GetFullOf


2 Answers

In my Info.plist, somehow my Application requires iPhone environment was set to NO. setting it to YES fixed this...

like image 23
dOM Avatar answered Sep 18 '22 16:09

dOM


Ok, my answer has been deleted because it was not an answer to the question. I do not have enough points to comment your question (that's what I tried to do because I obviously don't have the answer — just the same problem as you and trying to figure out why we're getting this Invalid Binary error)

As I said in my first post: I'll keep you up to date. Today, I created a new Xcode project, with the same bundleID as the app I try to upload for a week now. It passes through the server-side pre-validation and I received a mail saying it's "Waiting for Review". It answers one question I had since the beginning: It's not a server problem (I thought Apple had some issues with the pre-validation process). I tried to play with architectures on this new project (for example, I only use armv7 arch for my App because of some incompatibility with third-part libraries). Still passes the server validation.

Then, I tried to copy the Info.plist file from my app to the new sample project which passes the server validation: BANG -> Invalid Binary!! This info.plist is quite old, used since Xcode 3.0 I tried to remove some optional keys from it: still invalid binary Then, I compared the original and needed keys with a new project's info.plist file : bang! The "CFBundleInfoDictionaryVersion" value was empty. On a new project, the value is "6.0". I simply set "6.0" for CFBundleInfoDictionaryVersion key and boom, it worked. My guess is that Apple' servers are checking the info.plist file and needs a proper CFBundleInfoDictionaryVersion value in order to read the .plist file. And I think it's not happening since Xcode 5.1.1, they must have updated their server among with the release of Xcode 5.1.1, that's all.

Jeez, I can't believe how dumb it was. It's a shame that Apple does not provide a comprehensive feedback. Hope it will work for you! Let me know!

like image 137
ldesroziers Avatar answered Sep 21 '22 16:09

ldesroziers