Je distribue mes applications sans fil depuis plusieurs mois maintenant, sans aucun problème. Il est vrai que je distribue sous la licence Enterprise, qui coûte 299 $ par an et est destinée à un usage professionnel interne. Cela peut fonctionner avec une licence de développeur normale, mais il faut faire des tests pour s'en assurer. J'imagine que le processus est le même si cela fonctionne. J'utilise XCode 4, donc cela peut être légèrement différent si vous utilisez une autre version. En gros, vous devez ajouter un fichier Entitlements.plist à vos ressources :
New->File->Code Signing->Entitlements
et avant de distribuer, vous devez changer :
"Can be debugged" to NO
Assurez-vous que votre projet est configuré avec les profils de signature de code corrects. Maintenant, allez à :
Product->archive
puis avec votre entrée nouvellement construite, cliquez sur : Partager
Select "iOS App Store Package (.ipa)"
et choisissez le profil de distribution approprié que vous voulez utiliser. Cliquez sur Suivant, puis choisissez un emplacement pour enregistrer le fichier .ipa. Avant de cliquer sur Enregistrer, vous devez vérifier
Save for Enterprise Distribution
Le fichier .ipa doit être sauvegardé sur un serveur FTP, ou du moins c'est ainsi que j'ai réussi à le faire fonctionner. Dans le champ "Application URL", utilisez le chemin d'accès au fichier .ipa que vous allez sauvegarder, par exemple,
ftp://ftp.company.com/Installers/myApp.ipa
Donnez-lui un titre, puis dans "URL de la grande image" et "URL de la petite image", indiquez le chemin d'accès à vos fichiers d'icônes de grande (512x512) et de petite (72x72) taille (je développe pour l'iPad, donc l'iPhone peut être différent). Par exemple,
ftp://ftp.company.com/Installers/small.png
Enregistrez le fichier .ipa. Maintenant vous devez placer votre fichier .mobileprovision sur le serveur ftp. Toute personne qui veut exécuter l'application doit avoir le fichier installé, sinon elle ne pourra pas l'exécuter. Je ne suis pas sûr que vous ayez besoin d'un fichier .mobileprovision contenant tous les identifiants des appareils si vous ne faites pas partie du programme d'entreprise, mais vous pouvez essayer et voir. Une fois que vos fichiers sont tous sur le serveur ftp, vous devrez créer un e-mail contenant les liens vers les deux fichiers, mais le lien pour le fichier .ipa doit être dans un format spécial. Pour le fichier de provisionnement :
ftp://ftp.company.com/Installers/profile.mobileprovision
et pour le fichier .ipa :
itms-services:///?action=download-manifest&url=ftp%3A%2F%2Fftp.company.com%2FInstallers%2FmyApp.plist
Maintenant, lorsque vous envoyez cet e-mail à quelqu'un, il lui suffit de télécharger et d'installer le fichier .mobileprovision, puis le fichier .ipa. Voilà, il exécute votre programme. Faites-moi savoir si cela fonctionne sans l'abonnement d'entreprise. J'imagine que oui, tant que le fichier .mobileprovision contient les identifiants des appareils.
Edit :
J'ai trouvé un bien meilleur moyen de distribuer des applications, mais il nécessite que vous disposiez d'un serveur PHP. Il s'agit de créer un fichier PHP qui génère le fichier plist à la volée et le renvoie. Dans les liens pour la grande image, la petite image et le fichier ipa, vous passez des liens vers d'autres fichiers PHP qui renvoient ces éléments pour votre programme spécifique. Lorsque vous voulez installer une application à partir d'un lien, il vous suffit de passer l'URL comme ceci :
itms-services:///?action=download-manifest&url=http://mycompany.com/php/installApp.php?app=myappname
Dans vos fonctions PHP, il vous suffit d'insérer myappname dans les autres appels PHP, ce qui permet de récupérer les fichiers appropriés sur votre serveur. En utilisant cette méthode, vous n'avez pas besoin de stocker les fichiers plist de vos applications au fur et à mesure qu'elles sont générées, ce qui facilite la mise à jour de vos applications puisque vous n'avez pas besoin de retaper les informations à chaque fois, ne cochez même pas la case pour la distribution aux entreprises, enregistrez simplement le fichier ipa par-dessus l'ancien et vous êtes prêt à partir. En outre, il est facile de mettre en œuvre des fonctions de sécurité et de connexion avec cette méthode. En outre, vous n'avez pas besoin d'installer spécifiquement le fichier de provision mobile, car il s'installe de lui-même lorsque vous installez l'application. Il est stocké dans le fichier ipa.
Edit :
Juste pour clarifier la méthode PHP, vous créez un fichier php qui crée des fichiers plist. Copiez un fichier plist standard créé à partir d'une distribution d'entreprise, puis dans votre fichier php, définissez les en-têtes comme ceci :
$pathToAddFi = "installers/".$_GET['app'].".plist"; //points to the php server file location of your .ipa files. when you call this php script, you pass in the name of the ipa file you want to install. Note: this location doesn't actually contain any plist files!
$root = "http://yourserver.com/php/root/"; //path to this PHP file's directory
header('content-type: application/xml');
header('Content-Disposition: attachment; filename='.basename($pathToAddFi));
header('Content-Transfer-Encoding: binary');
Puis vous construisez une chaîne remplaçant les urls de vos articles comme ceci :
<string>".$root."ipa_serve.php?app=". $_GET['app']."</string>
et terminez-la avec un dernier en-tête avant d'envoyer la chaîne xml :
header('Content-Length: ' . strlen($myXml));
Enfin, vous créez un fichier php pour servir votre fichier ipa, un pour servir votre grande image, et un pour servir votre petite image. Cela devrait être assez simple, sauf si vous n'êtes pas très familier avec PHP.