Release binary not timestamped in Xcode, and just signed ah-hoc despite these Projucer and Xcode settings - what am I missing?

I have filled in the following fields in Projucer. Xcode just signs ad-hoc, what am I missing ?

Exporter >
Xcode:
Exporter Bundle Identifier: com.me.pluginname
Development team ID: 99A9A99AA9

Xcode > Release:
Custom Xcode Flags: OTHER_CODE_SIGN_FLAGS = --options=runtime --timestamp
Code Signing Identity: Developer ID Application: MyName (99A9A99AA9)

And then in Xcode:

Does it only do it on an ‘archive’ build or something?

We do a post-Xcode sign step on our stuff which you can do quite easily from the command line if this is giving you unsolvable nightmares?

1 Like

How do I check in Xcode if the build is “archive” or not? I thought it was just two options: Debug or Release.

Yesterday I did take those fields (Development Team ID, Xcode flags, Code Signing Identity) out of Projucer, just left the Identifier in so Xcode will insert that and the plist.

Then I used codesign --force (to replace the ad-hoc) from Terminal, and notarytool, then stapler. It worked for me, just irked I wasn’t able to do it more automatically via Projucer > Xcode. (Projucer 7.0.9)

There’s an option in the product menu called Archive?

I thought it ought to do it using a normal release build as well, so I’m grasping at straws a little here:)

Can I ask (being fairly inexperienced with Mac) about the “Archive” option.

I read that its used mainly for distributing an app on the App Store, and not generally used for making an AU, AAX, VST3 plugin > .dmg. Is this correct thinking? I just made sure the “Release” was set in the Run tab > Build Configuration (in the Edit Scheme… of my AU scheme)

I don’t know exactly how to make 100% sure a Release version was actually built.

Look at the complier command line in the log panel. If you are getting -O3, and if the output is appearing in a subfolder called Release (e.g. Builds/MacOSX/…/Release) you are probably getting the release build.

We had to do Archive builds for something once that wasn’t on the Xcode store but my memory is hazy.

@jacquesmignault - you are a big fan of Xcode do you get it signed with your proper signing key when doing a normal release build, just by specifying the TEAMID in the Projucer?

I checked the log, it does indeed build to /Release, and with -O3, and -DNDEBUG=1 :+1:

I am making an installer .dmg with DropDMG , but this seems to not be able to create a symlink to the current user’s /Component folder for my AU. It will for the All Users `/Component’ folder. I guess I might have to start another thread to find out if I need another installer solution.

Not sure this answers your question ?

For a simple install (outside the App Store) Archive with your team ID in the proper Jucer field for XCode, and then Archive the project, using the “Direct Distribution” option. Apple will notarize your app, and once the process is finished, download the notarized app.

Then what I do is use an app call DropDMG which lets you drop the notarized app in it, and creates a simple dmg which you often see where you drag and drop your app into “Applications”.

Does the trick for me.

I have DropDMG. The limitation I found out today is that it won’t deploy an au.component to the current users /component folder, but will only deploy it to the All Users /component folder.

Did you find a way around that, or are you just distributing .app files?

For au or vst components I use WhiteBox - Packages
Hope this helps.

1 Like