2010-03-20 4 views
3

J'ai une application sur le magasin pour lequel nous préparons une mise à jour.iPhone: comment exécuter une version bêta en plus de la version App Store?

Les autres membres de notre équipe ont la version App Store déjà chargé vers le haut (~ acheté) sur leurs iPhones respectifs - et ceux qui contiennent des données utilisateur que chaque membre doit être en mesure de garder .

En attendant, nous avons besoin de tester une version bêta de la version suivante de l'application. Vraisemblablement, nous aurions besoin d'avoir les deux versions (ad hoc, et app store) coexistant sur chaque périphérique, au moins jusqu'à ce que tout le monde a signé sur la version bêta et qu'il soit téléchargé dans le magasin (à quel point, ils supprimeraient la version bêta). [Une fois qu'il est sur le Store, bien sûr, ils peuvent chacun mettre à jour leur version principale (c'est-à-dire, Release) de l'application via le mécanisme habituel de mise à jour de l'App Store. Dans ce cas, toutes leurs données d'utilisateur est toujours conservé intact.]

Donc, en supposant que ce flux de travail approprié ...

Comment puis-je publier une version bêta à l'équipe, et avoir remplace pas/écraser existant Version de l'App Store? J'ai essayé de personnaliser les paramètres dans la version bêta de "[appname] -Info.plist", mais je n'ai pas encore trouvé de paramètre permettant aux deux versions (bêta et version) de coexister sur le même périphérique.

Des idées? Et est-ce la bonne approche pour qu'ils puissent garder leurs données?

(Et enfin, comment pourrais-je le faire avec & sans script, je suppose qu'il ya un seul paramètre qui avait besoin d'être changé?.)

J'espère que cela prend tout son sens - merci d'avance Pour votre aide!

+2

Malheureusement, vous ne nous dites pas quels paramètres de l'Info.plist vous avez essayé de modifier. Je crois comprendre que l'identificateur d'ensemble est celui qu'Apple utilise pour identifier de façon unique une application. Avez-vous essayé de le changer? –

+0

Merci, Ole. S'il vous plaît voir le commentaire ci-dessous. – rondoagogo

Répondre

2

Vous voulez donc avoir deux versions de la même application sur un seul périphérique? Je ne pense pas qu'il existe un moyen d'obtenir cet effet: la mise à jour d'une application, qui utilise l'unique CFBundleIdentifier, remplace l'ancien regroupement de versions, mais pas les données.

Pour l'effet souhaité, vous devez disposer de deux applications distinctes. Ils ont besoin de différents identifiants CFBundleI, de sorte qu'ils ne se remplaceront pas mutuellement. Ils ne peuvent alors pas partager de données, vous devrez donc organiser l'exportation/l'importation avec un espace partagé hors dispositif.

Si vous ne voulez pas ce tracas, lancez les périphériques supplémentaires de l'équipe et testez-les. Les appareils principaux de l'équipe restent sur la version AppStore. Vous devez toujours exporter/importer pour amener le contenu des périphériques de test vers les périphériques principaux. Tout le contenu payant que chacun a sur la version App Store devrait être disponible pour leur version bêta, cependant, comme d'habitude pour les mises à niveau de l'application et les scénarios multi-dispositifs d'un propriétaire.

+0

Merci, Ole et Joseph, pour vos commentaires. Je crois que j'ai essayé le nom du fichier exécutable et le nom de l'ensemble, mais pas l'identificateur de l'ensemble. Je vais vérifier. (Pour ce que ça vaut, je suis juste tombé sur un problème différent qui empêche de tester cela pour les prochains jours, mais je vais rapporter.Aussi, pour ce que ça vaut, ils n'ont pas besoin de partager des données entre les deux versions de l'application - ne perdez pas leurs données existantes dans la version principale (c'est-à-dire, la version). [Et il n'y a pas de données conservées dans le cloud dans ce cas, juste des données locales dans la version App Store conservées sur un seul appareil.] – rondoagogo

+0

[Comme je l'ai dit, j'ai un problème distinct qui ne permet pas de tester sur mon appareil pour le moment.] Mais j'ai juste testé cette solution en utilisant le simulateur, et cela semble fonctionner. Pour ce que cela vaut, ce qui semble rendre une application «distincte» d'une autre semble être cet identificateur de regroupement. (En fait, dans ce cas, il s'agit essentiellement de deux versions de la * même * application, mais comme l'ID de l'ensemble est différent, le Springboard les traite comme uniques.Ainsi, vous pouvez charger un nombre arbitraire d '«instances» d'une application, au besoin, en variant l'ID de l'ensemble.) MERCI à tous les deux! – rondoagogo

Questions connexes