Suppose you have pyqtdeploy’ed a PyQt project to OSX. Now you want to package it for distribution. You are trying to decide what packaging tools to use.
What pyqtdeploy produces
- .pro file ( a qmake project)
- .app bundle (a minimal package for the Mac platform)
- a static built executable (that includes the Python interpreter and all dependencies except Qt libraries/frameworks)
Packaging Tool Choices
- QtCreator (and qmake)
- your own scripts invoking qmake and Xcode command line tools
- other third party packagers
Advantages of switching to Xcode
- Xcode understands Mac packaging better
- Xcode is better integrated with the Mac Store
- Xcode is more GUI friendly (drag and drop, point-and-click, forms)
Xcode understands Mac packaging better
- code signing
- icons and document types (mimetypes)
- the bundle (package) structure
Xcode is better integrated with the Mac Store
- it remembers your AppleID
- it knows the steps to submit (validating, submitting a debug version, final uploading)
- it knows how to validate
- the Mac Store won’t accept other packagers
Disadvantages of switching to Xcode
- learning curve
- not cross-platform (whatever you learn doesn’t apply to other platforms)
Sandboxing as a determiner
The store requires sandboxing of most apps.
Otherwise, sandboxing is optional. It’s benefit is that it gives more comfort to your users, because it doesn’t give a warning when the app is installed (used?)
If you are distributing in the Mac Store you probably must use Xcode.
Otherwise, using Xcode is better only if you prefer a more user-friendly, less scripted process.