2010-02-16 9 views
4

J'ai une application iPhone que je suis sur le point de modifier pour l'iPad.Portage d'une application iPhone sur iPad - application unique ou fourche?

Mon problème est le suivant: l'application est conçue pour fonctionner avec iPhone OS 2.0 et si je la fais pour l'iPad, je devrai la concevoir pour OS 3.2.

Je ne peux pas changer la version de l'iPhone, car je risque certains de mes utilisateurs avec les anciennes versions de l'iPhone ne pouvant pas exécuter l'application. De toute évidence, je peux faire une application hybride qui peut fonctionner sur iPad/iPhone OS 3.2 et iPhone/iPhone OS 2.0, mais ce sera un enfer à maintenir, avec de nombreux changements d'appel API et autres.

Quelle est la meilleure approche: une version hybride ou une fourchette de code séparée pour l'iPad?

Répondre

3

Définissez votre SDK de base sur le périphérique iPhone 3.2. Définissez votre cible de déploiement iPhone sur 2.0. Utilisez AvailibilityMacros lorsque vous appelez les API de l'iPhone 3.2. Ensuite, créez le code UI différent pour l'iPad et faites une application universelle. C'est le meilleur de tous les mondes. Sauf que vous n'obtiendrez pas un nouvel achat si la personne a un iPhone et a déjà acheté votre application. Si vous êtes plus intéressé à obtenir plus de revenus en raison de la version iPad (peut-être la version iPad a beaucoup plus de fonctionnalités?) Alors vous devez fourchez votre code afin que vous puissiez définir un prix différent pour l'application iPad. Si je comprends bien, vous pouvez toujours garder la fourche dans le même projet xcode afin que vous puissiez toujours utiliser les modèles et les contrôleurs partagés et quand vous construisez, choisissez simplement la cible à construire. Ainsi vous en tant que dev obtenir le meilleur des deux mondes. Par les statistiques admob: iPhone OS Statistics si vos clients sont seulement iPhone alors les gens ne sont pas en 3.0 < 3%. C'est un assez petit nombre pour moi, ils peuvent facilement mettre à jour gratuitement afin que je ne retienne pas votre application juste pour eux. Peut-être que votre application pourrait convaincre un peu plus de personnes à mettre à niveau également. Maintenant, si votre application prend en charge l'iPod Touch, votre marché cible est toujours de 32% 2.X

+0

Merci! Oui, mon problème est le 32% des utilisateurs ipod touch avec 2.x ... – SpaceDog

+0

Je l'ai déjà dit, mais ce 32% n'est pas un très bon public cible. S'ils ne prennent pas la peine de payer 5 $ pour une mise à jour complète du système d'exploitation, pourquoi payeraient-ils votre demande? En tout cas, ce nombre pourrait rétrécir maintenant que la mise à jour 3.0 est gratuite pour les touches iPod: http://www.iphonealley.com/current/30-software-update-now-free-for-ipod-touch –

+0

Ces statistiques ne montrent pas vraiment au-delà de Noël, et les ventes d'iPod touch passent toujours par le toit à Noël. Ces 32% sur 2.x vont probablement baisser de manière significative. De plus, puisque les gens ont plus de temps libre, ils peuvent se déplacer pour se mettre à jour. Je sais que mes parents ne mettent pas à jour les leurs à moins d'avoir quelques jours de congé. – jamone

8

Fourchez votre code. Vous allez probablement vouloir une nouvelle interface utilisateur ou un nouveau code graphique pour accueillir l'écran plus large de toute façon, de sorte que vous cherchez vraiment une "nouvelle" application qui utilise beaucoup de vos classes existantes.

+0

MERCI! Cela semble être l'approche logique pour moi, spécialement avec cette application qui utilise de grandes images qui rendraient l'exécutable grand pour l'iPhone. Quoi qu'il en soit, je pense que c'est peut-être la meilleure approche même pour de nouvelles applications, à moins que vous ne soyez prêt à coder pour le même système d'exploitation sur les deux plates-formes et que vous ayez de petits graphiques. – SpaceDog

0

Votre application dispose-t-elle d'un composant d'abonnement (qui vous rapporte de l'argent après l'achat initial) ou d'un contrat de service?

Si la réponse est non, je considérerais tout simplement de tout déplacer en 3.2 - voulez-vous vraiment reporter les changements de portage? Les utilisateurs qui utilisent encore le système d'exploitation 2.0 (probablement une petite minorité, y compris les jailbreakers comme 3.1 a été jailbreaké pendant un certain temps) n'ont pas besoin de passer à la nouvelle version. L'attente avec les applications iPhone est que les nouvelles versions seront gratuites, pas que les nouvelles versions seront gratuites et fonctionneront toujours sur un ancien système d'exploitation.

En tant qu'utilisateur qui maintient mon système d'exploitation à jour, je serais en fait contrarié si vous avez passé beaucoup de temps à travailler sur le support des utilisateurs qui ne mettent pas à jour; Je pense que votre temps serait mieux utilisé pour ajouter de nouvelles fonctionnalités.

+0

le problème est le suivant: les gars ont un iPhone utilisant OS 2.0. Il a acheté ma demande. Je passe à 3.2. Ce type et d'autres sont maintenant énervés parce que l'application a cessé de travailler pour eux. L'autre problème est le suivant: est-ce que iTunes ou l'application Appstore sur iPhone permet à un gars utilisant OS 2.0 de télécharger une version 3.0 de l'application? Si oui, c'est pire, parce que la nouvelle version (ne fonctionnant pas sur l'appareil du type) écrasera une version de travail. Je ne suis pas sûr si la version d'iPhone est vérifiée quand vous achetez/téléchargez un article. – SpaceDog

+1

À tout le moins, vous pourriez mettre un avertissement disant de ne pas télécharger cette version si vous utilisez la version 2.0, mais je crois qu'il existe un moyen de l'indiquer de façon à ce qu'elle ne s'affiche pas en tant que mise à jour disponible. La version qu'ils exécutent fonctionnera toujours (en supposant qu'il n'y ait pas de service Web impliqué). À un moment donné, vous devrez abandonner les utilisateurs qui ne veulent pas mettre à jour leur système d'exploitation 2.0 - que ce soit quand le 3.2 sort ou quand vous en avez 4.3 ou 5.8, mais en tant qu'acheteur fréquent d'applications iPhone , Je serais beaucoup plus heureux de vous ajouter de nouvelles fonctionnalités que de supporter les anciens systèmes d'exploitation. – BarrettJ

10

1) Fork le code, mais ...

2) Créer une application universelle.

Fondamentalement, faites une nouvelle version qui ne supporte que OS3.2 à partir de maintenant. Cette version unique peut contenir à la fois l'application iPhone mise à jour et la nouvelle application iPad, ce qui vous permet de les coder facilement plus tard, et de réutiliser les contrôleurs de vue et les modèles entre eux. C'est comme ça que Apple aimerait que vous le fassiez. Consultez les documents sur les applications universelles.

+0

+1; c'est probablement la bonne réponse. –

Questions connexes