7
votes

Pièges de développement pour iPhone

Y a-t-il des lignes directrices sur des pièges à éviter tout en développant des applications iPhone?


0 commentaires

5 Réponses :


18
votes

Bien sûr, des milliers. Il en va de même pour tout développement logiciel. Malheureusement, le moyen le plus simple de les énumérer est de les écrire sur une feuille de papier en attendant qu'une âme amicale vous libère de celui que vous venez de tomber.

Cependant:

  1. N'essayez pas de réinventer la roue. L'iPhone API est très complète - vous devez juste chercher l'installation dont vous avez besoin. Les choses ne sont pas toujours implémentées comme vous l'attendez. Lisez les guides avec précaution. Regardez les tutoriels et analysez comment ils fonctionnent. (Essayez de changer une ligne ici ou là-bas dans le didacticiel pour voir quelle différence le changement fait.) La plus grosse erreur que j'ai faite en 1 an de développement de l'iPhone n'effait pas assez fort pour trouver la iPhone Way de faire quelque chose.

  2. n'ignore pas la gestion de la mémoire; Maîtrisez-le tôt et souvent. Utilisez l'allocation d'objet et des fuites d'outils dans les instruments pour vérifier fréquemment les fuites de mémoire. Je recommanderais de vérifier après avoir terminé chaque fonctionnalité ou vue; plus souvent que cela si vous continuez à trouver des bugs. Finalement, vous pouvez le comprendre si bien que vous pouvez arrêter de faire cela.

  3. n'utilisez pas simplement les paramètres de construction par défaut. Jouez avec eux pour comprendre ce qu'ils font. Déterminez la certification et la distribution. entrer dans le programme de développeur rapidement - il peut prendre un certain temps pour passer à travers ce pipeline. [Et quand vous obtenez cette notification que vous devez renouveler, obtenez-la instantanément - il y a eu des problèmes de ce processus. ]

  4. Ne négligez pas avec précaution des directives de l'interface humaine (HIG). S'ils disent de ne pas faire quelque chose - ne le faites pas. Apple rejetera les applications qui abusent de leur iconographie.

  5. Ne sez pas sur le marketing. Oui, l'App Store met votre application devant des millions de personnes ... en théorie. Mais les chances d'obtenir une pagie frontale sont minces. Il y a beaucoup d'excellentes applications sur l'App Store qui n'ont pas grandi beaucoup parce que personne ne le sait.

  6. Ne vous reposez pas sur vos lauriers. Si une nouvelle technologie sort, découvrez si cela facilite votre travail; Si c'est le cas, prenez le temps de l'apprendre. Exemple personnel: J'essaie tout simplement de passer de la gestion des données basée sur SQLite aux données de base, car j'étais pressé à l'époque où j'ai commencé mon projet le plus récent; Maintenant, j'aurais aimé avoir ralenti et j'y ai pensé.

  7. n'allez pas dans votre pensée de conception (par exemple) "Comment puis-je implémenter mon concept avec une vue de table?" Il est vrai que les vues de la table sont naturelles pour de nombreuses applications d'information et d'utilité, mais ne sont pas contraintes. Au lieu de cela, pensez à ce que les utilisateurs voudront pouvoir faire, comment vous pouvez le rendre plus facile pour eux - mettre les choses ensemble qui seront utilisés ensemble, etc. Si vous n'avez jamais exploré le concept de cas d'utilisation, lisez sur eux.

  8. N'hésitez pas à construire des vues composites. Beaucoup de questions que j'ai vues ici sur le débordement de pile ont à voir avec la mise en place d'une barre d'outils en haut d'une table ou d'avoir une image en arrière-plan d'un champ de texte. Je comprends le désir de faire les choses facilement, et comme je l'indique le n ° 1 ci-dessus, s'il est est un moyen facile, utilisez-le. Mais dans de nombreux cas, la solution est juste pour couche quelques points de vue avec placement et transparence appropriés.


1 commentaires

Je ne peux que secondoyer tout cœur tous, et étant donné le type de questions qui sont posées autour ici surtout n ° 1, des personnes RTFM, ... Si vous ne pouvez pas le trouver où vous cherchez, regardez la documentation de la superclasse ou de la classement !



5
votes

Pensez à ce qui pourrait être approuvé par pomme dès le début.

L'application rejetée est l'un des nombreux sites utiles pour aider à comprendre les normes essentiellement non documentées d'Apple. ( une autre .) (une question précédente sur Raisons de rejet d'App Store .)

Quelques exemples rapides:

  • Utilisation d'un uiWebView peut obtenir votre application A 17+.
  • codage avec une API sans papiers / privée = rejeté
  • Numéro de version <1.0 pourrait = rejeté
  • Pas assez de commentaires sur le succès du réseau / échec = rejeté
  • Trop d'utilisation du réseau = rejeté
  • Version gratuite clairement limitée vs version complète = rejetée
  • Le mot 'iPhone' dans le nom de l'application = rejeté

    Les liens ci-dessus contiennent de nombreux autres exemples, et plus de détails sur ces exemples.


2 commentaires

Bien que ce soient intéressants Tidbits, je dirais que cela ne répond pas à la question ainsi que la réponse de @ Amagrammatter. Bien qu'il soit important de concevoir de manière à ne pas être rejeté de l'App Store, de tels conseils ne sont pas pertinents pour les développeurs ad hoc, et les principes généraux sont beaucoup plus utiles à une plus grande variété de principes. De plus, de nombreuses politiques d'Apple ne sont pas documentées publiquement et sont fortement sujets à changement. Les pièges de conception et de codage, cependant, sont généralement plus durables.


Je conviens que cela est loin d'une réponse globale et que d'autres suggestions telles que Amagrammamter sont en ordre. Lorsque je l'ai posté, je pensais à cela comme l'une de ces questions demandant une enquête sur de nombreuses réponses, par opposition à la recherche d'une seule réponse tout compris.



3
votes

Ne négligez pas les guides de programmation. Bien que la documentation soit assez étendue, les guides de programmation contiennent une véritable réciproque de conseils utiles et d'informations «d'initiés» qui ne peuvent tout simplement pas être glanées de définitions de la méthode de lecture. Je passe autant de temps à lire les guides pour une technologie (par exemple, de données de base) comme je le mettant en œuvre réellement.

Ne supposez pas que vous savez ce qu'est une méthode. Si vous avez de degré de doute sur la fonctionnalité d'une méthode, cela vaut la peine d'aller chercher dans la documentation à vérifier.


0 commentaires

2
votes

Exemples merveilleux du @amagrammatter ci-dessus.

J'aimerais ajouter que le développement de l'iPhone est Photoshop. C'est toujours le meilleur conseil que je puisse donner à quiconque commence. J'utilise maintenant omnigffle car il a des modèles de pochoir génial.

Ce que je trouve, c'est que même pour une application super simple, élabore votre prototype et recherchez des problèmes de convivialité et des problèmes de flux de travail. Il est 100X plus rapide de redessiner votre application que de la re-code. Je suis tombé dans ce piège à plusieurs reprises et élabore désormais une jolie fonctionnalité simple pour voir ce qu'il va ressembler et se sentir comme.

Ce conseil vous fera économiser 10 heures peut-être même des plus de 100 heures d'obtention de votre application, d'avoir votre application pour la première fois et de vous faire réfléchir à ce que sont les problèmes. Dresser le code suce et je l'ai fait non pas parce que le code était mauvais, mais parce qu'il a aggravé la convivialité ou la solution. Je pense que le meilleur de nous finir par jeter du code et prototyping votre conception aidera définitivement à avoir à la RTFM pour quelque chose que vous n'aviez pas à construire en premier lieu.


3 commentaires

Heureusement, je travaille avec un concepteur qui fait les mises en page graphique et le flux avant d'écrire une ligne de code. (Bien que nous ayons souvent à se lâcher sur les cas d'utilisation.) Rappelez-vous simplement: vous pouvez dessiner des choses dans Photoshop qui sont une douleur à construire dans le SDK. En outre, concentrez-vous sur les transitions - ils sont essentiels au design visuel.


Votre conseil est excellent et je me concentre sur la gestion de la mémoire n ° 2, je ne l'ignore pas du tout, mais je ne suis pas toujours 100% parfois si je dois libérer une ou deux fois sur certains objets ou cas spéciaux.


Si vous ne possédez pas de simulations sur Photoshop Balsamiq - Balsamiq.com fournit de superbes outils en ligne pour cela.



-2
votes

Si vous n'avez pas de super concepteur et que vous ne pouvez pas faire de grand design par vous-même, ne démarrez même pas le développement de l'application iPhone. Cette règle ne s'applique que si vous voulez / besoin de gagner de l'argent avec vos applications.


0 commentaires