Well, I’m now in the process of preparing my first Mac App for the App Store, and am banging my head against any pitfall out there.
One that took me almost an hour to find out: You need to switch on “Entitlements” in your XCode project. Once you do this, XCode automatically fills in iCloud identifiers and containers in your project file. Problem is: I don’t have any iCloud set up in this App (don’t need no iCloud), but the Mac OS runtime expects it to be there if you have specified it in your project, and will crash your app right after start. It would have been good, that there would be ANY error message, telling you what’s wrong, but in fact in this case, there is NONE. The only thing you find out is that it works without entitlements, and doesn’t work when enabled, and you start fiddling with your check boxes.
So make sure: if your App does not use iCloud, remove it from your Project Target’s summary to look like this: