4 votes

Pourquoi le processus actuel de provisionnement pour le développement d'iPhone est-il mis en place de cette manière ?

Étant donné le grand nombre d'exemples de problèmes liés aux étapes manuelles nécessaires pour provisionner des appareils et installer des applications à l'aide du SDK du développeur, je me demande pourquoi Apple a choisi cette voie.

En particulier, le processus semble propice aux erreurs et pourrait probablement être automatisé.

Est-ce juste un rite de passage ou existe-t-il des raisons pour lesquelles il est mis en œuvre de cette manière que j'ignore?

  • Y a-t-il des raisons pour que certaines de ces étapes DOIVENT être manuelles?
  • Est-ce que quelqu'un voit un moyen d'améliorer cela ou connaît des scripts ou des automatismes rendant cela plus simple pour les développeurs débutants sur la plateforme?

7voto

wjl Points 1328

Le plus gros problème est la génération de clés. La sécurité hardcore d'iOS est que seules les applications signées sont autorisées à s'exécuter sur vos appareils, sauf si vous l'avez jailbreaké et installé un package pour contourner cela, généralement pour un déploiement sans licence ou pour le piratage d'applications.

Vous devez générer une clé basée sur l'autorité de certification d'Apple, ou CA. Ensuite, vous la téléchargez sur le portail et Apple l'approuve, à condition que vous soyez un développeur payant. Chaque fois que vous déployez une application, que ce soit sur le magasin ou sur votre appareil pour des tests, vous signez l'application avec votre signature numérique, qui est soutenue par Apple. Cela indique à votre appareil, ou aux appareils de vos testeurs ou clients, que l'application provient d'un développeur qui est bien celui qu'il prétend être. Puisque le principal moyen d'obtenir une application sur votre appareil est par le biais du magasin, vous avez la certitude qu'elle n'a pas été altérée (puisque la signature du développeur est invalide avec la modification d'un simple bit dans l'application) et qu'elle a passé les contrôles d'Apple en étant hébergée sur le magasin. Il s'agit d'une assurance à double volet de la sécurité.

Les profils de provisionnement sont une toute autre histoire. Auparavant, Apple vous permettait de "charger latéralement" une application sur autant d'appareils que vous le souhaitiez. Cela signifiait que vous pouviez contourner l'App Store et vendre des applications vous-même en téléchargement, rien de différent des applications de bureau. Apple n'a pas approuvé cela et a depuis limité à 100 le nombre d'appareils par an pouvant être répertoriés sur un seul compte développeur. Vous ajoutez vos appareils au portail par leur UDID, leur empreinte unique, et vous devez l'obtenir sur tous les appareils sur lesquels vous souhaitez tester votre application en version bêta ou la déployer en adhoc. Comme cela coûte environ 0,99 $ / an / appareil, il est prohibitivement cher de vendre des applications de cette manière, mais cela vous permet d'avoir beaucoup de places de test bêta. Bien sûr, un profil de provisionnement est la liste des appareils sur lesquels peuvent s'exécuter les applications signées par quel développeur.

Dans les récentes versions de Xcode, une fois que vous avez établi votre clé (ce qui serait difficile à automatiser depuis Xcode), vous pouvez brancher n'importe quel iDevice, ouvrir l'organiseur et cliquer sur "Utiliser pour le développement". Xcode demandera vos identifiants puis ajoutera automatiquement l'appareil au portail et créera un profil de provisionnement pour vous. Une fois que vous avez effectué la configuration initiale, il est pratiquement possible d'ajouter un appareil supplémentaire en un clic. Je ne pense pas qu'Apple soit aussi préoccupé par l'automatisation de la configuration initiale, car il s'agit d'un processus ponctuel.

(Désolé, j'essaie de travailler sur ma tendance à m'étendre en longueur.)

4voto

Mateo Points 909

Le service gratuit TestFlight vise à faciliter la distribution des applications de test, bien que je ne sache pas s'il facilite les tests sur votre propre appareil.

-1voto

Mike Polen Points 3173

Je n'ai pas vu beaucoup de spéculations sur la raison pour laquelle ils l'ont fait de cette manière, sauf pour dire que c'est probablement conçu pour la sécurité des appareils et des utilisateurs dans le but de maintenir les "indésirables" hors du processus (c'est-à-dire les créateurs de logiciels malveillants). Cependant, vous n'êtes pas seul dans vos frustrations concernant le fonctionnement de l'ensemble du processus. Autant que je le sache, en dehors de la préparation d'un appareil pour des tests locaux et filaires, il n'y a aucun moyen d'automatiser tout cela.

En fin de compte, c'est la décision d'Apple, et ils n'ont jamais dit pourquoi les choses se passent ainsi. C'est la vie.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X