Is there an up-to-date tutorial for downloading a Xojo app from the macStore. I read one on the forum that some were using AppWrapper. Do I have to use this paid software?
I am looking for a free solution. I have already paid for the Xojo license and the MBS license and I can’t (can’t) spend more money on this project.
Which tutorial are you referring to? Maybe this is still relevant?
You can do the neccesary code-signing and packaging without AppWrapper, using the comand-line tools Apple installs with Xcode.
To upload your code-signed and packaged app to the Mac App Store you can use Apples “Transporter” app (could be found in category “Developement” in the Mac App Store).
The whole process is tricky and has a lot of points to fail - this is the reason why many people use AppWrapper.
You will need to get a Developer account at Apple, that costs $99 per year.
That will allow you to create an app record in the store.
To get it there, you will need parts of Xcode (Transporter) - Thats free
Code signing and notarising the app before it gets sent, is a minefield.
There may be tutorials out there about how to do it manually, but whether you want to spend money or not, buy App Wrapper. I cannot stress that strongly enough. It is not expensive, and it will save you weeks of work.
If your app will sell , the investment is worth it.
I already have a Developper account and I know how to sign app and managing certificates. I already have some application made with flutter and Xcode on the App Store.
Transporter needs an .ipa or a .pkg file and for now Xojo create an .app file
This is where am I for now.
My application is a small Midi utility to send midi notes to a virtual Midi Output. It’s a very simple application. It’s a small step before a larger one in the future. I always make development with small steps one after an other.
When I run “Verify” on Transporter I have a lot of issue:
Asset validation failed (90296)
App sandbox not enabled. The following executables must include the “com.apple.security.app-sandbox” entitlement with a Boolean value of true in the entitlements property list: [( “app.pkg/Payload/Virtua MidiSend.app/Contents/MacOS/Virtual Midi Send” )] Refer to App Sandbox page at App Sandbox | Apple Developer Documentation for more information on sandboxing your app.
Asset validation failed (90264)
The lowest minimum system version [none] in the Product Definition Property List must equal the ‘LSMinimumSystemVersion’ value [10.10.0] in the ‘Info.plist’.
Asset validation failed (90230)
Invalid product archive metadata. Error in keyPath [product-metadata.product-identifier]. Please re-build your archive with an up-to-date version of Xcode, and submit again.
Asset validation failed (90230)
Invalid product archive metadata. Error in keyPath [product-metadata.product-version]. Please re-build your archive with an up-to-date version of Xcode, and submit again
Asset validation failed (90000)
This bundle is invalid. Package “app”: Bundle at “Virtua MidiSend.app” in Payload not declared in PackageInfo.
Asset validation failed (90234)
The product archive is invalid. The product archive may not include multiple installer packages.
Asset validation failed (90237)
The product archive package’s signature is invalid. Ensure that it is signed with your “3rd Party Mac Developer Installer” certificate. (ID: 3313b53d-1416-464b-b89f-a68776b3f0a7)
Asset validation failed (90000)
This bundle is invalid. Package “app”: Bundle at “Virtua MidiSend.app/Contents/Frameworks/XojoFramework.framework” in Payload not declared in PackageInfo.
Asset validation failed (90270)
Unsupported toolchain. Packages submitted to the App Store must be created either through Xcode, or using the productbuild[1] tool, as described in “Submitting your Mac apps to the App Store.” Packages created by other tools, including PackageMaker, are not acceptable. [SIS]
Asset validation failed (90252)
The product archive is invalid. The installer package may not include paths outside of a bundle.
Asset validation failed (90296)
App sandbox not enabled. The following executables must include the “com.apple.security.app-sandbox” entitlement with a Boolean value of true in the entitlements property list: [( “VirtualMidi.pkg/Payload/Virtua MidiSend.app/Contents/MacOS/Virtual Midi Send” )] Refer to App Sandbox page at App Sandbox | Apple Developer Documentation for more information on sandboxing your app. (
Asset validation failed (90266)
Your application bundle must install to ‘/Applications’.
Look like the info.plist created by Xojo is far a complete one!
No, you are completely missing the sandboxing part of your app. There IS a reason for using AppWrapper because it handles most of the awful Apple stuff for you.
Xojo complete missing it. The info.plist file create by Xojo is basic.
The cost for a simple Xojo app is very expensive : $399 for a desktop version + $429 for MBS plugin + $99 for an apple dev account + $49 for Appwrapper TOTAL: $976 !!
This is not Xojos fault, its your task to fulfill Apples requirements for a Mac App Store upload, like code-signing, sandboxing, hardening runtime, building a correct package, setting entitlements etc.
As Beatrix already wrote, there is a very good reason why many developer use AppWrapper. You can do it without it, but it is hard work.