We've finally gotten to the point of submitting our first iPhone app to the app store (or trying to), but I can't seem to get iTunes Connect to accept the upload.
I've attempted through both the web site ("The binary you uploaded was invalid. The signature was invalid, or it was not signed with an Apple submission certificate.") and the Application Loader ("Info.plist does not contain a CFBundleResourceSpecification").
After lots of reading (including questions like these), re-reading, and googling, I can say that:
codesign -vvvv MyApp.app
indicates no problems.Now, it is true that in the built app, the Info.plist does not contain a CFBundleResourceSpecification
key, but it's not at all clear to me where that value should come from, or what else I need to add to make this work. (The only reference I can find using Apple's search is some code signing release notes... but, as I mentioned above, the code signing step is succeeding, as far as I can tell.)
Has anyone run across any explanations for this problem that I haven't mentioned already?
EDIT: Here's the (slightly redacted) output from the code signing step of the build, FWIW:
code signing screenshot http://img70.yfrog.com/img70/8988/codesign.png
An app binary is a file that contains machine code for a computer to execute.
An astonishing 8% of apps are rejected because they still “exhibit bugs”. These problems must be addressed, tested, and solved before you submit your app to the App Store. Any issues related to long load times or crashes will be grounds for rejection.
The problem seems to have been that I was using json-framework in my app, and including it as an additional SDK per the instructions in the wiki. My guess is that XCode got confused by the presence of >1 SDK, and thus couldn't find the default ResourceRules.plist like it's supposed to.
I found two solutions (well, workarounds, anyway):
$(SDKROOT)/ResourceRules.plist
. This works, and seems reasonably harmless, but is frustrating in the sense that XCode should be able to figure this out on its own. (I found this solution in a very old issue filed on json-framework.)#import
statements with local paths. This is the approach I ended up taking, since we made a general decision to fold all of the external dependencies into the project itself (so that other developers have less configuration to do on their machines to get up and running).I'm not sure whether this is a bug in XCode, or something wrong with json-framework but I've filed an issue on the latter just in case.
UPDATE, 30 June 2010: the issue I filed has been closed, and Mr. Brautaset plans to remove support for the SDK option in the next release (2.3) of the project. Also, the code now lives on GitHub, though the Google Code pages still exist for now.
For me, after checking all things (codesign, the icon file...) but you can't upload your App, try to delete the Built File. Remember copying file.app to zip your app.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With