Announcing the first public beta of App Wrapper 4

Ladies and Gents, I am quite anxious about this release… So please be gentle with me…

App Wrapper is Ohanaware’s premium Post-Build Processor for the macOS, used by 100s of developers to prepare their macOS applications for the Mac App Store and distribution on their websites. App Wrapper 4 has been in development since mid-2019.

Major new features of App Wrapper 4.

  • Designed for Big Sur.
    App Wrapper 4 performs a complete code sign of nested executables (in the correct order) for debug builds from the Xojo IDE. While also processing plists, entitlements, adding files to the bundle and performing modifications.
  • Handsome interface.
    Designed from the ground up, working with Tim Parnell from Strawberry Software, the interface was crafted to save time by improving accessibility, grouping things logically, and attempting to make the most needed options as available and clear as we could.
  • Built-in Plist editor.
    allows modification of the application plist and entitlements directly in App Wrapper, offering a standard list view, a raw XML View and a searching capability.
  • Dynamic Text.
    App Wrapper 4 can replace constants in fields, plists and entitlements, using information from the application, signing certificate and more.
  • SF Symbols.
    App Wrapper 4 features a SF Symbols rasterizer (on macOS Big Sur) that can rasterize SF Symbols to multi-representation TIFF images (single TIFF file with different sizes), allowing SF Symbols to be used on older versions of the macOS.
  • DropDMG support.
    App Wrapper 4 can now work with C-Command’s DropDMG as well as Araelium’s DMG Canvas.
  • Submit to the App Store.
    App Wrapper 4 can now auto-submit applications intended for Apple’s Mac App Store.

Improvements Galore

  • Performance.
    The fastest we’ve clocked App Wrapper processing itself was 300 ms (0.3 seconds), which includes analyzing the application, modifying it and doing a complete code sign of all the nested executables in order.
  • New Icon Editor.
    Allows icons to be created from a single image (using templates) or from multiple different sized images. App Wrapper 4 now uses ICNSmini in its icon editor to compress ICNS files down to 1/3rd of their size.
  • Unified Progress.
    Wrapping, Archiving and Apple Submission is all done in one single window, making it easy to see exactly what’s going on and where.
  • Checking engine.
    Redesigned to cover more ground and to provide clearer information when a problem is discovered.
  • Identity Selector.
    Reimagined many times over to provide a clear overview of all the certificates in an identity and their status.
  • Xojo Integration.
    Overhauled scripting system allows for Xojo scripts to be directly copy/pasted into the Xojo IDE and for options to be configured there.

App Wrapper 4 was built with Xojo 2020r1.2 in conjunction with the Ohanaware App Kit, and wrapped with App Wrapper 4.

Compatibility

  • 10.13.6 High Sierra, 10.14 Mojave, 10.15 Catalina and macOS 11 Big Sur.
  • 8GB of RAM.
  • 50MB of disk space.
  • Code signing tools require an installation of Xcode 10 or newer.

Pricing and Availability

App Wrapper 4 Public Beta is available right now from the Ohanaware Website. App Wrapper 4 offers a no-obligation 14 Day trial. The RRP of App Wrapper 4 is $49.99 (USD) for a single user 1-Year Update Plan. Customers with a valid Update Plan can use App Wrapper 4 as part of their plan. Customers with expired Update Plans can extend their plan for $39.99 (USD).

More Information, Screen Shots, to download the Public Beta or to purchase App Wrapper 4, please visit.

5 Likes

Looks very nice, Sam. Just sent you an e-mail about it.

1 Like

A big thank you to everyone who has been taking their time out to help me by testing App Wrapper 4.

Public Beta 2 is now live at the following URL. https://ohanaware.com/appwrapper/aw4.html

2 Likes

Hi Sam,

This looks like a nice program. I have a few questions, and I am not well-versed on Mac - lol, so be gentle :slight_smile:

Will the app wrapper program create the .app file from a native executable and search the dependencies and change the file paths to be recognized by Mac? My guess is that the program would work with the otool command line tool to determine dependencies and will use the install_name_tool to change dylib paths?

Will the App wrapper program build the plist or add to it?

If it does all of this, I’ll be purchasing one :slight_smile:

Edit: Fixing grammer

Sorry it currently doesn’t.

It was designed to take an existing .app bundle from a tool like Xojo and ensure the nested components meet the bundle, code signing, App Sandbox, Hardened Runtime guidelines that I know of and am capable of automatically resolving, then to code sign, archive and submit the application to Apple’s various services.

It is possible a future version of App Wrapper could take a mach-o executable file and create a bundle around it. Modifying the executable so that the libraries can be placed in appropriate bundle locations will take me time. I currently have my own mach-o parser which I use to read the headers. It is limited to only manipulating fixed size fields (which it does do). I will need to change this as I will need to inject data into the header for incoming signing guidelines.

Right now it only modifies the existing plist, but if it were to create the bundle wrapper, it would indeed create the plist.

Damn… I don’t know how far away I am aware from being able to offer this functionality, but I am not close either.

A couple more questions.

  • What tool are you using to create the mach-o files?
  • Are they GUI applications?
  • It would still need the ability to create a bundle around the main executable, but the libraries could put into place using the “Add Files” option on the “Contents” page. I can add “installname options” to the Modify files section of the “Contents” page. This would still take some time, but would allow it to come about quicker than trying to get my mach-O code up to scratch, would this help?

I have been using g++ and LLVM.

Yes

My guess is that the executable, dylibs, icns, and other files would all need to be added. There is no need to make a program for this now. I was just curious if you program can do this, thats all. I’ll build it from scratch - chuckle, I am just trying to find some helpful instructions, thats all. :slight_smile:

Downloaded the beta 2 and gave it a try. Seems to work. Does someone here have Catalina or Big Sur and is willing to do a test install to see if it notarized and hardened my app properly?

As I’ve said before, I’m not a Mac guy and the bewildering array of settings in this app is overwhelming. Hopefully the defaults worked; I had to enter some passwords and do a 3rd party password for AppWrapper, but it seems to have completed without errors.

In the future, I would love to see a help file. I’m disappointed that you didn’t decide to add a beginner or wizard interface for guys like me!
Overall, though, looks very nice and is obviously very complete; I have no doubt this application was VERY difficult to write and make work within Apple’s infrastructure, so, well done, @samRowlands!!

1 Like

Norm helped me out. Looks like it works as advertised! Thanks for your hard work on this, @samRowlands!!

1 Like

PM me the link and I’ll take a look at it for you.

Help is coming. It takes me a lot longer to write help than to write code. Especially as I am so terrible at explaining things.

I am sorry about this. Once AW4 is stabilized and I’ve made the modifications to it that I now need to make, I’ll investigate a sort of get started wizard.

Thank you. Complete… Not by a long shot, but I wanted to get this into people’s hands before Big Sur. Some of the missing stuff will just have to come via updates.

I’m pleased to hear AW4 behaved itself for you, and thank you @npalardy for helping out.

I renewed my developer license but probably didn’t do it correctly.
Any suggestions on how to update my App Store privileges? I paid the fee but it looks like it’s just renewed the Web privileges, not App Store…

Thanks to your app, I can see there’s a problem!

Do you have an official channel for reporting bugs?

I don’t think so.

I’ve written to Apple a couple of times asking if I might be able to be involved in the process, but I’ve never received an answer (which I think is my answer).

Below is taken from the help, I don’t recall if it made it into beta 2 or not, but will be in beta 3.

You need to manually remove the older certificates.

  1. Open Apple's "Keychain Access".
  2. Use the right hand search field and enter in the name of the certificate.
  3. If needs be, select a different view from the left hand list. Big Sur customers, this is now under the toolbar.
  4. Right click on the certificate and select "Delete" from the menu.

Now you need to download the new certificates.

If you need to download and install any core certificates

  • Developer ID Certification Authority
  • Apple Worldwide Developer Relations Certification Authority

Please visit https://www.apple.com/certificateauthority/

To download your code signing certificates please visit https://developer.apple.com/account/resources/certificates/.

To submit applications to the  App Store, you’ll need the following certificates.

  • “Apple Distribution:” or “3rd Party Mac Developer Application”
  • 3rd Party Mac Developer Installer
  • “Apple Development” or “Mac Developer”

Double click the downloaded certificates to install them into the Keychain Access. From there App Wrapper will be able to see and use them.

Select “Contact Ohanaware” from the Help menu, if you have a document open, you’ll be asked if you want to include information about that file.

1 Like