[Qt-interest] Qt apps in Apple Mac Store?
Oliver.Knoll at comit.ch
Oliver.Knoll at comit.ch
Mon Jan 10 14:58:11 CET 2011
Hi,
I am interested in the experience of other developers who try or tried to submit their Qt apps into the Apple App Store (the desktop one which opened last week).
The good news first: apparently it is NOT a problem per se (yet) that an application is based upon Qt!
Following several discussions on Qt Centre and stack overflow it seems that (so far) the major problem seem to be file paths being created at the wrong location and wrong naming pattern.
I guess most of them can be solved on an "application level", but one of the files Apple complains about is
~/Library/Preferences/com.trolltech.plist
I am not sure why exactly that file got rejected (unfortunately one has to be part of the Apple Developer Program to see http://developer.apple.com/devcenter/mac/documents/submitting.html), but I strongly suspect the fact that the com.trolltech domain name does not match the one of the application is the problem.
AronR who submitted a Qt app pointed out on http://www.qtcentre.org/threads/35292-Qt-Apps-banned-from-Mac-App-Store?p=172964#post172964 that:
"
- Improperly named files in ~/Library/Application Support/*
- File created at ~/Library/Preferences/com.trolltech.plist
"
The first complaint is due to usage of QDesktopServices::storageLocation() with arguments QDesktopServices::dataLocation and QDesktopServices::cacheLocation:
"
They need you to create the directory not like
~/Library/Application Support/Company Name/Product Name
but as
~/Library/Application Support/bundleId (com.company.App)
"
AFAICT the second point, the creation of com.trolltech.plist, cannot currently be controlled by the application itself, Qt creates this file on its own. I think that com.trolltech.plist on Mac is the analogon to HKEY_CURRENT_USER\Software\Trolltech on Windows, which is also automatically created when you start your Qt app (not sure, but I think that is the case, haven't tested it myself yet): it stores all known Qt plugin directories, for instance.
AronR provides workarounds in the same post, but I think they have more the status of a "temporary workaround". It basically lets the application choose to store/read the global Qt settings
Anyway, the discussion should off course be how to extend the current Qt API, such that an application would read/write these settings from the "application configuration file" found in "~/Library/Preferences/com.yourapp.whatever.plist". AronR also provides a patch for the QDesktopServices:data|cacheLocation, but not sure what he means with "This is ONLY valid if you bundle Id exactly matches the above values".
And it would be interesting to know whether other people have already (successfully?) submitted their "apps" to the App Store and how/when/if the mentioned problems can be "cleanly" solved.
Cheers, Oliver
--
Oliver Knoll
Dipl. Informatik-Ing. ETH
COMIT AG - ++41 79 520 95 22
More information about the Qt-interest-old
mailing list