2010-02-10 18 views
1

J'ai une application dans l'App Store iPhone et j'ai publié plusieurs mises à jour mineures. Je veux commencer à travailler sur quelques ajouts et réorganisations majeures, mais je ne veux pas perdre le code source de ma version la plus récente au cas où tout irait mal. Dois-je commencer à zéro un nouveau projet Xcode et y copier ma source existante? Si je fais cela, serai-je en mesure de soumettre la construction de ce nouveau projet comme une mise à jour ou Apple se plaindra-t-il que la construction provient d'un projet Xcode différent?Comment démarrer une mise à jour d'application iPhone majeure dans Xcode

J'ai vu (mais pas utilisé) les fonctions "Snapshots" et "Source Control" de Xcode - sont-elles ce que je recherche?

Toute aide ou direction grandement appréciée.

+0

J'apprécie le conseil utile de tout le monde. FWIW, j'utilise SVN localement à travers les versions maintenant et je l'apprécie vraiment. – Eric

Répondre

12

Je suggérerais d'amener votre projet dans une sorte de contrôle de source. Les plus populaires de nos jours sont Subversion (Xcode a un support intégré, mais le support est assez nul), git et Mercurial, qui fonctionnent parfaitement sur Mac. Vous ajouteriez votre projet à un dépôt git/svn/hg/etc, puis "étiqueteriez" le référentiel avec quelque chose de significatif ("Version d'expédition 1.3" ou quelque chose comme ça) (vous pouvez aussi simplement brancher votre projet à son actuel état et donner un nom significatif). Ensuite, vous pouvez faire vos développements, ajouter et valider les modifications apportées à votre référentiel. Si vous avez besoin de revenir à votre ancienne version d'expédition, c'est assez simple car vous l'avez tagué avant de commencer à travailler (pensez à un tag comme un instantané).

L'autre option consiste à démarrer un nouveau projet Xcode et à copier des éléments. Je l'ai fait personnellement et expédié très bien à l'App Store (assurez-vous que des choses comme l'ID de votre application "com.whatever.app" correspond à l'original, et assurez-vous que vous codeign correctement) et vous êtes prêt à partir . Cela dit, à moins d'avoir une bonne raison de commencer avec un nouveau projet, vous feriez probablement mieux d'utiliser la gestion de contrôle de source avec l'un des outils mentionnés ci-dessus (git est ma préférence).

+0

Chaque développeur doit utiliser une sorte de système de gestion de code source pour tous les projets sauf les plus petits. Vous devez être en mesure de suivre vos changements, grands ou petits. J'aime vraiment le support intégré pour Subversion dans Xcode, car il me permet de voir en un coup d'œil ce que j'ai changé depuis le dernier checkin, et il fournit un joli graphique entre les versions sélectionnées. Pour tout ce qui est plus puissant, Cornerstone et Versions sont de formidables clients Mac subversion. –

+0

Bon à savoir! Je pense que cela sera vraiment utile pour moi ... – Eric

2

Vous utilisez une forme de contrôle de code non? Si ce n'est pas le cas, arrêtez ce que vous faites et assurez-vous de configurer un dépôt svn. Svn est livré avec votre mac et intègre Xcode.

Vous pouvez également commencer à penser à des sauvegardes qui font ...

0

Vous pouvez faire ce que les gens ont dit avant, et utiliser git svn ou similaire, ou si vous ne voulez pas mess avec Vous pouvez simplement créer votre propre contrôle de version en copiant et en collant le dossier et le nommer «nom de projet xx» et modifier la version sans le numéro de version

+2

Bien que ça marche *, je ne vois pas de raison (autre que la paresse) de le faire en utilisant un contrôle de source approprié tel que git/svn/hg/etc. – jbrennan

+0

C'est la seule raison pour laquelle vous feriez cela. En fait il y en a un de plus: Vous ne savez pas comment utiliser git/svn/hg/etc qui pourrait être corrigé en faisant une simple recherche google –

0

Les instantanés sont la première étape. lorsque vous êtes à l'aise avec eux, vous pouvez brancher à un serveur SVN pour votre sauvegarde hors site

juste faire un instantané après votre construction de distribution et l'étiquette avec le numéro de version

0

Le plus rapide, plus facile, solution à court terme est pour sélectionner le dossier de projet Xcode et le dupliquer. Cela créera une copie de tout dans le projet. Apple ne se soucie pas que cela provienne d'un projet en double.

Pour le long terme, regardez dans la configuration d'un SVN. Cela vous aidera à sauvegarder vos versions précédentes chaque fois que vous apportez des modifications.

0

Depuis que vous êtes nouveau à la gestion de contrôle de source, je pourrais donc suggérer Subversion. Subversion a moins de fonctionnalités que Git, mais vous n'avez pas la confusion entre pousser et commettre (localement ou à distance) et vous trouverez plus de logiciels qui supportent Subversion que Git ou Mercurial.

Si vous avez besoin d'une sauvegarde rapide , vous pouvez toujours zip dans le dossier de travail en cours pour votre projet Xcode, nommez-le quelque chose comme:

MyApplication-Version-1.00.zip

1

Je vous recommande fortement de vérifier Git. Il y a un excellent support Git intégré dans XCode 4, et vous pouvez aussi bien utiliser Git avec XCode 3.

Une bonne chose à propos de Git est que vous n'avez pas besoin d'un serveur pour profiter des fonctionnalités de gestion du code source. Il est beaucoup plus facile pour un développeur solo de travailler avec SVN une fois que vous avez enveloppé votre tête.

Je recommande également vivement GitX - une interface graphique gratuite pour Git qui est absolument incroyable.

Une autre recommandation GitBox - un outil simple qui permet d'utiliser un Dropbox comme référentiel maître Git. C'est génial pour partager du code entre plusieurs machines sans avoir besoin d'avoir ou de payer pour l'hébergement Git chez GitHub ou ailleurs.