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.)