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.
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.
App Wrapper 4 can replace constants in fields, plists and entitlements, using information from the application, signing certificate and more.
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.
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.
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.
Wrapping, Archiving and Apple Submission is all done in one single window, making it easy to see exactly what’s going on and where.
Redesigned to cover more ground and to provide clearer information when a problem is discovered.
Reimagined many times over to provide a clear overview of all the certificates in an identity and their status.
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.
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.
This looks like a nice program. I have a few questions, and I am not well-versed on Mac - lol, so be gentle
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?
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.
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?
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.
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!!
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…