Code-signing app

So i want to make my first app ready for the Mac App Store using App Wrapper Mini.

I have 2 Developer-Certs (App and Installer) and 2 Mac App Store Certs (App and Installer) in my Keychain.

But when i try to use one of the MAS-Certs in the App Wrapper Mini Dialog, i only get the following message:

There was a problem validating the certificate "3rd Party Mac Developer Application: Michael Bzdega".

In my Keychain the Cert is called “3rd Party Mac Developer Application: Michael Bzdega”, followed by a number (which seems to be the Team ID) in brackets. But whatever i enter in App Wrapper Mini - My Name with or without TeamID - App Wrapper still comes with the same error message.

Any ideas what i’m doing wrong?

Getting the certificates correct is a complex, “fussy” process.

  1. You might want to reinstall your certificates from the Apple Dev Site
  2. Here is a process from Sam that helped me when I had a similar problem.
    “If you have Xcode installed on your machine, open it up, go to Preferences, then “Accounts”.
    If it doesn’t show your Apple ID, enter in your Apple ID information.
    Then click on “View Details”, in the sheet that comes up, click on the little refresh button in the bottom left hand corner. This will automatically update all your certificates for you. I would love to be able to do this from App Wrapper, but it’s way aways from my comprehension.”
    good luck

Hi Roger,

i have now reload all certificates using the Xcode “Accounts”. This is what i have now on my Mac, which is the same as before:

Mac Development Valid
Mac App Distribution Valid
Mac Installer Distribution Valid
Developer ID Application Valid
Developer ID Installer Valid

But the result in App Wrapper Mini is still the same. Developer Certificate is valid. MAS Certificate is invalid.

I believe that’s what you want. Have you tried a build using that Cert?

What is the difference between MAS Certificate and Developer Certificate?

I haven’t the slightest idea. (I said this was complex :wink: )

ok. :wink:

Try the build with App Wrapper. It will warn you if the installer it creates is not suitable for the MAS

I will try this.

So i got my app packed with app wrapper mini. After that i start the installation by clicking on the .pkg-file, all went fine, the installation completes successfully. But where is my app installed? I can’t find it in the Programm-Folder or somewhere else.

Hmm… I found out, that the installer package relocates my app from the app-folder to another folder. It seems, that apple or just the installer thinks, when you install an app and you have the same app in another place (in my case a dropbox-folder), that the newly installed app should replace the one in the other folder.

I found it by checking the .pkg-file with this command:

installer -store -pkg /Users/Michael/Downloads/UniFormis.pkg -target /

results in:

installer: Note: running installer as an admin user (instead of root) gives better Mac App Store fidelity
installer: Warning: UniFormis.pkg was signed with a certificate that is not valid for store submission.
installer: Installation Check: Passed
installer: Volume Check: Passed
installer: Bundle com.bytemasters.uniformis will be relocated to /Users/Michael/Dropbox/apps/UniFormis/UniFormis.app
installer: Starting install
installer: Install 0.0% complete
installer: Install 17.4% complete
installer: Install 100.0% complete
installer: Finished install

When i delete the app placed in the dropbox and run the installer, it is placed in the app folder. But it still will not work correctly, i think because of the bad certificate.

I must first apologize, it appears that recently Apple changed something (I think it may be the recent security update) and this has broken App Wrapper Mini’s ability to verify code signatures.

I’m currently in discussion with an Apple engineer and we’re investigating this.

Indeed, this is how the Apple installer works, it auto replaces existing installed copies before it considers installing in the Applications folder.

For App Wrapper 3, I added an installer tester which can be used to remove all existing copies before firing the installer.

Hi Sam,

thanks for this info.

You’re welcome, I have the attention of an Apple engineer right now, so we’re working on it.

Just curious, Sam, why two versions, the App Wrapper and the mini version? I own App Wrapper 3 and it was a ridiculous bargain for what it does, probably saved my days getting things working right without it. Now I just click a button and done. Is there some reason a mini version is needed?

Sam, this issue that you’re talking to the Apple engineer about, does it affect just the mini version or App Wrapper 3 as well?

@Merv: I prefer the Mini version because I need to customize the build scripts that AppWrapper Mini creates. I found the interface of the full version rather clunky.

Well, there’s a story behind it… I originally wrote App Wrapper Mini as a proof of concept, it was entirely Xojo script based.

It worked incredibly well, it could be Sandboxed and people were asking me frequently for a cheaper version of App Wrapper. So Mini was released and has been very popular.

No, it only affects Sandboxed applications, App Wrapper 3 isn’t Sandboxed as there is simply too much functionality that doesn’t work from within an App Sandbox.

Sadly, the engineer confirmed that it is a new Apple bug. The code I’m using should work. We’re not clear if it snuck in with 10.10.2 update or a recent security update. It’s been reported to Apple. I will make a formal announcement early next week.

App Wrapper 3 has a much superior interface compared to previous versions. I used the interface for Mini as a starting point.

@Sam: looking forward to the new version! AppWrapper has been a lifesaver for this §$%& codesigning. If only there would be a new seed of 10.10.3…

The official announcement will be made next week, we’ve had to retire App Wrapper Mini, however we are offering a 50% discount to App Wrapper Mini customer to upgrade to App Wrapper 3. More information at http://www.ohanaware.com/appwrapper/upgrade.html