HISE Logo Forum
    • Categories
    • Register
    • Login

    Recent workflow for notarization / codesigning on macOS?

    Scheduled Pinned Locked Moved General Questions
    14 Posts 5 Posters 692 Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • gorangroovesG
      gorangrooves @optimistic
      last edited by

      @optimistic I've compiled and notarized successfully with xcode 14.1. I'll be tackling AAX this evening. If i don't post "how-to" over the next couple of days, tag me to remind me. I am racing against the clock

      Goran Rista
      https://gorangrooves.com

      Handy Drums and Handy Grooves
      https://library.gorangrooves.com

      Matt_SFM O 2 Replies Last reply Reply Quote 1
      • Matt_SFM
        Matt_SF @gorangrooves
        last edited by

        @gorangrooves said in Recent workflow for notarization / codesigning on macOS?:

        @optimistic If i don't post "how-to" over the next couple of days, tag me to remind me.

        I will 😉. Good luck!

        Develop branch
        Win10 & VS17 / Ventura & Xcode 14. 3

        1 Reply Last reply Reply Quote 0
        • O
          optimistic @gorangrooves
          last edited by

          @gorangrooves Amazing and thank you!

          I ended up getting this working relatively well in the end with the script @d-healey by making the following changes ...

          • Building the plugins manually first so I can also create AAX
          • Keeping HISE.app in the HISE/projects/standalone/Builds/MacOSX/build/Release folder. This was the original issue throwing me off on the script as it expects the build to live there
          • Populate and run the script

          However the issue I'm running into now is that (at least on my test machine) the installer isn't overwriting previous versions of the plugin. I've tried looking for a setting for this in Packages and also bumping the version number with no luck.

          Will be interested to hear how you have things being built in Xcode 14.1 as I like keeping my os up to date and had some issues with a recent version of 13 a few months back.

          d.healeyD 1 Reply Last reply Reply Quote 0
          • d.healeyD
            d.healey @optimistic
            last edited by

            @optimistic

            he installer isn't overwriting previous versions of the plugin.

            How are you testing this? If you are looking at the modified time in Finder then you can ignore it, it often fails to update in a timely manner :)

            Libre Wave - Freedom respecting instruments and effects
            My Patreon - HISE tutorials
            YouTube Channel - Public HISE tutorials

            O 1 Reply Last reply Reply Quote 0
            • O
              optimistic @d.healey
              last edited by

              @d-healey Good question!

              I was indeed looking at the time in the finder. But also the previous version was looking in the ~/Library folder for the preset folder and the new one is looking in the system equivalent.

              I only had installed an AU previously and that one isn't updating to the correct latest version where as the VST3 and AAX both are loading the correct version.

              I also updated the version 1.0.1 and the AU tool in Logic is still reporting it as seeing version 1.0.0

              d.healeyD gorangroovesG 2 Replies Last reply Reply Quote 0
              • d.healeyD
                d.healey @optimistic
                last edited by

                @optimistic When you run your installer pkg, click customize (I think that's the name of the option) and it should show you if it's installing an update or installing for the first time.

                Libre Wave - Freedom respecting instruments and effects
                My Patreon - HISE tutorials
                YouTube Channel - Public HISE tutorials

                1 Reply Last reply Reply Quote 0
                • gorangroovesG
                  gorangrooves @optimistic
                  last edited by

                  @optimistic Signing AAX for Mac works very similar to how it does on Windows. The only difference is the command line, and that you are not using a certificate you used on Windows, but Apple's sign ID.
                  First, download the PACE SDK for Mac through the PACE Central and install it.

                  For Mac, the command line will be something like this:

                  /Applications/PACEAntiPiracy/Eden/Fusion/Current/bin/wraptool sign --verbose --account peterjack --signid "Developer ID Application: Peter Jack (ABCDE12345)" --wcguid NEC6C510-6202-13ED-9388-005056928F3B --in "/Users/peterjack/Desktop/plugins/MyWickedPlugin.aaxplugin" --out "/Users/peterjack/Desktop/plugins/MyWickedPlugin.aaxplugin" --password myilokpassword
                  

                  And just like for Windows, you will only have to specify the password for your iLok once.

                  Once you have your AAX plugins signed with PACE, you can package them into a PKG installer along with your other formats for distribution, which you will sign and notarize prior to distributing it.

                  Have fun!

                  Goran Rista
                  https://gorangrooves.com

                  Handy Drums and Handy Grooves
                  https://library.gorangrooves.com

                  gorangroovesG O 2 Replies Last reply Reply Quote 0
                  • gorangroovesG
                    gorangrooves @gorangrooves
                    last edited by

                    And regarding notarization, the old commands using alt tool not longer work with XCode 14.

                    Whoever wrote Apple's documentation on the subject is a bit of an ignorant dumb dickass for failing to properly specify how certain values should be written in the command line. They write things like this:

                    % xcrun notarytool submit OvernightTextEditor_11.6.8.zip
                    

                    As if the OS is magically going to guess where the file is. Fuckin' dickshit wasted so much of my time with this and the rest of the command.

                    So, I'll explain clearly how to do this, so you don't have to waste a second.

                    Go to appleid.apple.com and create an "app-specific" profile. Say, create a profile called MyNotary. You will be provided a password, which you will need to copy and save to a text document on your computer, as you won't see it again.

                    You are now going to save that signing profile into your computer's keychain, by running the following line into the Terminal (after replacing relevant values):

                    xcrun notarytool store-credentials --apple-id "yourname@yourdomain.com" --password "1234-aein-uiod-vpax" --team-id "12345ABCDE"
                    

                    The Apple ID you will enter above is your email registered with your developer account.
                    The password is the app-specific password you were provided for the profile MyNotary you previously created.
                    The Team ID is your developer team ID that you use for signing plugins on MacOS and can see it in your Apple developer account.

                    So, now that you clearly know how to enter those values without guessing if they should be specified with <> or [] or '' or {}, it will be a breeze.

                    Time to notarize the PKG installer.

                    Enter the following command line into the Terminal after replacing the appropriate values:

                    xcrun notarytool submit "/Users/peterjack/Desktop/PACKAGES PROJECTS/build/MyAppReadyForDistribution.pkg" --keychain-profile "MyNotary" --wait
                    

                    So, basically, you just need to change the path to your file and specify the name of your actual notary profile previously saved in your Keychain. Hit enter and wait until it runs the check, uploads, scans and tells you that it was accepted.

                    Before you notarize the PKG file, all plugins needs to be code-signed with a timestamp, and your standalone app also needs to have the hardened runtime forced. You do that for the app by running the following line (after replacing the obvious values):

                    codesign --deep --force --options runtime --sign "Developer ID Application: Peter Jack (12345ABCDE)" "/Users/peterjack/Desktop/plugins/MyStandAloneApp.app”
                    

                    Let me know if anything is not clear enough.

                    Goran Rista
                    https://gorangrooves.com

                    Handy Drums and Handy Grooves
                    https://library.gorangrooves.com

                    1 Reply Last reply Reply Quote 2
                    • O
                      optimistic @gorangrooves
                      last edited by

                      @gorangrooves Thanks so much for the detailed response!

                      I ended up getting this working in the end and this post helped quite a bit.

                      It was actually a series of things including me not understanding AAX plugins on windows are folders, that in and out needed to be the same and that HISE wasn’t correctly building the plugins because I needed to change a property in VS.

                      Again, the help is super appreciated and great luck with your release. Your products look really interesting to me and plan on giving them a closer look in the future.

                      gorangroovesG 1 Reply Last reply Reply Quote 0
                      • gorangroovesG
                        gorangrooves @optimistic
                        last edited by

                        @optimistic You are very welcome! 🤘 I am glad to be able to contribute something here that will help others. I've gotten wonderful help over the last few years from the amazing folks here. Best of success with your products!

                        Goran Rista
                        https://gorangrooves.com

                        Handy Drums and Handy Grooves
                        https://library.gorangrooves.com

                        1 Reply Last reply Reply Quote 1
                        • Adam_GA
                          Adam_G
                          last edited by

                          This post is deleted!
                          1 Reply Last reply Reply Quote 0
                          • First post
                            Last post

                          45

                          Online

                          1.7k

                          Users

                          11.8k

                          Topics

                          103.0k

                          Posts