2010-12-02 9 views
14

J'ai une application Qt qui s'exécute sur OS X et qui est susceptible de fonctionner sur le nouveau Mac App Store. J'ai revu les directives au https://developer.apple.com/appstore/mac/resources/approval/guidelines.htmlApplications Qt sur le nouveau Mac App Store

J'ai aussi vu un post sur SO à propos de Java et de l'AppStore.

Est-ce que quelqu'un d'autre a considéré cela avec leurs propres applications et si oui ou non le cadre Qt ira à l'encontre de la police App? Vous devez toujours rester dans l'Apple HIG, c'est-à-dire sans thème et ne pouvez pas utiliser d'API privées.

Cela semble encore une proposition risquée par rapport à ObjC pur. Quelqu'un d'autre tenté?

+0

Quelle est votre véritable question? Les applications Qt pourraient-elles être acceptées? La seule chose que je vois dans les lignes directrices sont les restrictions HIG et API, qui pourraient prendre un peu de réglage avec une application basée sur Qt. –

+0

C'est une interprétation correcte de la question. C'est aussi ce que j'ai vu - en supposant que je n'ai pas négligé d'autres petits caractères. Il y a aussi beaucoup d'autres "petites" choses, par ex. ne peut pas installer kexts, aucune clé de licence ou «propre» protection contre la copie, l'escalade vers les privilèges root, etc., mais ces restrictions sont pertinentes pour toutes les applications, c'est-à-dire qu'il s'agit d'un bac à sable étroit. –

Répondre

16

Mon application Qt a été acceptée aujourd'hui et est disponible sur l'App Store. Donc, la réponse est oui, Apple acceptera les applications basées sur Qt.

Voici quelques informations sur mon application. Il est écrit en C++ et utilise Qt v4.7.2 sous licence LGPL. Les frameworks Qt sont inclus dans le bundle de l'application (évidemment, comme la LGPL exige que j'utilise la liaison dynamique au lieu de statique). Il existe également d'autres cadres, de Nikon et Canon, parce que c'est une application pour le contrôle à distance des appareils photo reflex numériques - voir http: www.hartcw.com. Ceux-ci ne sont disponibles que pour Intel 32 bits, ce qui oblige mon application à cibler aussi 32 bits, et donc je dois utiliser la version 32bit Carbon de Qt.

En ce qui concerne l'écriture des fichiers sur le disque dur local, il n'écrit pas quoi que ce soit dans le répertoire paquet, mais n'écrit dans ce répertoire:

~/Application Support/Hart/Smart Shooter 

Il écrit également l'état GUI Qt dans ce fichier (via les QSettings classe)

~/Library/Perferences/com.hartcw.SmartShooter.plist 

« Hart » est le nom de l'entreprise enregistrée avec Apple, et « com.hartcw.SmartShooter » est l'application nom d'identifiant, donc je pense que c'est ce que les contrôles d'Apple contre.

Il y avait aussi quelques choses que je devais faire en ce qui concerne le fichier plist, voir http://hartcw.com/francis/qt-and-the-mac-app-store

Enfait il a été accepté première fois par Apple! Il était dans l'attente d'une révision pendant environ 10 jours, puis est passé à "en révision" pendant environ 4 heures, puis a été mis en ligne sur l'app store.

3

L'utilisation de Qt ne pose aucun problème pour créer une application pour l'App Store. Tout ce que vous avez à faire est de vous assurer que vous utilisez Qt compilé avec Cocoa et non Carbon.

EDIT: Je viens de découvrir qu'il peut y avoir un problème si votre application utilise des plugins Qt (comme cela fait apparemment écrire Qt à ~/Library/Preferences/com.trolltech.plist qui est en dehors du « domaine 'd'une application App Store.)

Questions connexes