HISE Logo Forum
    • Categories
    • Register
    • Login

    Recent workflow for notarization / codesigning on macOS?

    Scheduled Pinned Locked Moved General Questions
    14 Posts 5 Posters 686 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.
    • O
      optimistic @d.healey
      last edited by

      @d-healey Awesome! Sounds good and much appreciated!

      gorangroovesG 1 Reply Last reply Reply Quote 0
      • 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

                            17

                            Online

                            1.7k

                            Users

                            11.8k

                            Topics

                            102.8k

                            Posts