Free App

I’ve joined the Apple Developers program, downloaded a couple of certificates for developing and App Store, but I am still so confused and bewildered on how to implement them within my program. Sometimes I feel like such a dunce! I’ll keep trying to figure it out. Until then …

I have completed my first Xojo program and have it wrapped into a DMG image (used DMG Canvas) and want to share it with other developers, primarily for ‘constructive’ feedback. The app is free and under an MIT license. So now let me talk a little bit about my new Xojo app.

I created a read-only sqlite database which contains over 580 records of algebra questions, each with three “possible” multiple choice solutions. Of course, only one of the three choices is true. Now here is the kicker, it is based on the tic-tac-toe game but with one exception, you are playing against your knowledge of algebraic principles. I also created a few extra items along with it. I also included a Help file, but it needs an internet connection to view. I don’t have Xcode so I don’t have an Apple Help file.

So, if anyone is interested, here is a download link: I had a lot of fun using Xojo.

I’m running Mojave, but the app is not configured for the dark mode. And remember, it isn’t signed.

You don’t “implement” them in your program, you sign you compiled app. It is possible to do this using terminal or XCode, but, IMHO, it will take a lot of reading of docs to pull that off. If you don’t mind spending a few bucks, the much easier way to g is Sam Roland’s App Wrapper. It greatly simplifies the task and there are several of us who can be of help in implementing that solution

Hi Roger. I have the AppWrapper (nice app) but I keep getting certificate errors, so it has to be the way I’m trying to sign the certificate. I’m just lost at this point.

Select “Codesigning diagnostics” from the “Tools” menu in App Wrapper, then click on the “Send e-mail” function and it’ll send that diagnostic information to me and I can take a look for you.

Don’t worry. Everyone feels like a dunce when it comes to app signing. It’s the most idiotic and stupid process I have ever seen. And every year it gets worse.

do you mean DMG Canvas can do the license agreement thing ??

Aint that the truth. I get it up and running, go back 2 months later and same setup, bang, No go. App Wrapper helps a lot but sometimes I have to whack all the certs and re-do. It is getting better!

Totally agree. Every time I do a major release for ourselves, or a client, I feel like I’m rolling the dice and I’ve not been very lucky recently. Just getting the proper certificates on the computer is a hassle at times.

Thanks all for your inputs. I went back through my Keychain and I have the following Apple certificates: 3rd Party Mac Developer Installer; 3rd Party Mac Developer Application; and Mac Developer. The code signing steps are what I’m confused about. Do I need to create a key from each, or is the key part of the certificate? Am I the CA now? Do I select SSL or Code Signing? This doesn’t support my mental prowess at all.

[quote]Sam Rowlands 11 hours ago Pre-Release Testers, Xojo Pro Hengchun, Pingtung, Taiwan
Select “Codesigning diagnostics” from the “Tools” menu in App Wrapper, then click on the “Send e-mail” function and it’ll send that diagnostic information to me and I can take a look for you.[/quote]
Thanks Sam I will do that.

[quote]Richard Duke 4 hours ago Pre-Release Testers, Xojo Pro Europe (UK, London)
@Philip Whittle DMG image (used DMG Canvas)

do you mean DMG Canvas can do the license agreement thing ??[/quote]
Richard it doesn’t.

[code]$ codesign --very-forcefully --please-work --go-as-deep-as-possible --sign-it-already-dammit “Developer ID Application: MyCompany” MyApp.app

$ xcrun altool --notarize-app -f MyApp.app --primary-bundle-id MyAppsBundleID -why-are-you-asking-the-bundle-id-is-already-in-the-app-you-idiots -u MyAppleID -p @keychain:“Application Loader: MyAppleID”

$ xcrun altool --notarization-info REQUESTUUID -please-dont-explode -u MyAppleID -p @keychain:“Application Loader: MyAppleID”

$ xcrun stapler staple -use-enormous-stapler -v MyApp.pkg

$ xtimewaster3 --wax-seal -hot-wax -big-red-candle -v MyApp.pkg

$ xtimewaster4 --fancy-calligraphy -v “Developer ID Fingerprint: MyFingerprint” MyApp.pkg

$ xtimewaster5 --huge-envelope -postage -insurance -tracking-number “Developer ID FirstBornChild: MyCompany” MyApp.pkg[/code]

You don’t need to create keys yourself.
Open App Wrapper
Drag your compiled app onto the window
When the first window opens, select the “General” tab (It’s probably selected by default)
What does it say in the Pop-up menu beside “Code Signing”?

[quote=416763:@Roger Clary]Roger Clary 2 hours ago Lewis Center, OH
You don’t need to create keys yourself.
Open App Wrapper
Drag your compiled app onto the window
When the first window opens, select the “General” tab (It’s probably selected by default)
What does it say in the Pop-up menu beside “Code Signing”?[/quote]

Hi Roger, it shows "Store: myName, the Good (its green).

[quote]Aaron Hunt 9 hours ago Pre-Release Testers Germany Edited 9 hours ago
$ codesign --very-forcefully --please-work --go-as-deep-as-possible --sign-it-already-dammit “Developer ID Application: MyCompany” MyApp.app

$ xcrun altool --notarize-app -f MyApp.app --primary-bundle-id MyAppsBundleID -why-are-you-asking-the-bundle-id-is-already-in-the-app-you-idiots -u MyAppleID -p @keychain:“Application Loader: MyAppleID”

$ xcrun altool --notarization-info REQUESTUUID -please-dont-explode -u MyAppleID -p @keychain:“Application Loader: MyAppleID”

$ xcrun stapler staple -use-enormous-stapler -v MyApp.pkg

$ xtimewaster3 --wax-seal -hot-wax -big-red-candle -v MyApp.pkg

$ xtimewaster4 --fancy-calligraphy -v “Developer ID Fingerprint: MyFingerprint” MyApp.pkg

$ xtimewaster5 --huge-envelope -postage -insurance -tracking-number “Developer ID FirstBornChild: MyCompany” MyApp.pkg[/quote]

Aaron, I tried the line $ codesign but it didn’t ‘find it.’

And if you pull down the menu, what does it say beside “web”
( I think you may be missing a couple of certs from your description)

From Philip’s codesigning diagnostics, I can see the “App Store” identies, messed up “App Store Debugging” and no “Web” (or Developer ID) identities installed.

The follow article shows how to flush and re-install all the identities.
https://ohanaware.com/support/index.php?article=purge_and_reinstall_codesigning_identities.html

One thing the article doesn’t seem to include is that I’ve recently discovered that Keychain Access can actually hide certificates from you! In Keychain Access, go to the view menu and select “Show Expired Certificates”. If you see “Hide Expired Certificates”, DO NOT select that option.

Thanks Sam. I shot you an email.