Télécharger et installer un ipa à partir de l'url sur iOS

je dois télécharger et installer un ipa directement à partir d'une URL.

j'ai essayé ceci:

NSURL *url = [NSURL URLWithString:@"https://myWeb.com/test.ipa"];
[[UIApplication sharedApplication] openURL:url];

L'application lance Safari mais alors ce message apparaît:

Error Message "Download Failed, Safari cannot download this file."

est-ce possible?

37
demandé sur vzwick 2014-05-09 13:41:35

7 réponses

pour distribuer votre application en direct (OTA, cela signifie sans en utilisant TestFlight ou L'App Store officiel), vous pouvez avoir besoin de créer 3 fichiers différents, à savoir:

  • The .fichier ipa (à l'aide d'un profil de configuration ad hoc)
  • de l'index.html
  • manifeste.plist

Vous pouvez utiliser Bêta Builder pour générer ces fichiers:

  1. Archive de votre build.
  2. Enregistrer la .ipa sur le Bureau.
  3. Télécharger un petit utilitaire Bêta Builder à partir de ici . Ce n'est plus de l'exécution de la tâche.
  4. Ouvrez l'outil et sélectionnez votre .fichier ipa, puis fournir le chemin que vous placerez la construction sur https://myWeb.com/MY_TEST_APP dans le Beta builder.
  5. fichier.
  6. maintenant télécharger index.html , your_App.ipa , & manifest.plist à votre chemin de serveur https://myWeb.com/MY_TEST_APP
  7. partage maintenant le lien de index.html . Une fois que vous ouvrez ce fichier, il vous sera demandé de cliquer sur installer.
  8. il installera your_App.ipa sur votre appareil.

vous pouvez également le faire plus manuellement.

de l'index.html

<a href="itms-services://?action=download-manifest&url=https://myWeb.com/MY_TEST_APP/manifest.plist">Install App</a>

manifeste.plist

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>items</key>
    <array>
        <dict>
            <key>assets</key>
            <array>
                <dict>
                    <key>kind</key>
                    <string>software-package</string>
                    <key>url</key>
                    <string>http://YOUR_SERVER_URL/YOUR-IPA-FILE.ipa</string>
                </dict>
            </array>
            <key>metadata</key>
            <dict>
                <key>bundle-identifier</key>
                <string>com.yourCompany.productName</string>
                <key>bundle-version</key>
                <string>1.0.0</string>
                <key>kind</key>
                <string>software</string>
                <key>title</key>
                <string>YOUR APP NAME</string>
            </dict>
        </dict>
    </array>
</dict>
</plist>

si l'application refuse d'installer ou d'exécuter, vous pouvez avoir besoin de vérifier les éléments suivants:

  • le profil de provision que vous avez utilisé lors de la compilation/archivage de votre application
  • Les Url dans les deux index.html et manifest.plist
  • le fichier plist devra éventuellement être hébergé sur un serveur HTTPS. Vous pouvez utiliser Dropbox pour cela, si nécessaire.
  • votre appareil UUIDs peut devoir être enregistré à L'intérieur D'Apple Developer Center à moins que vous n'ayez une licence D'entreprise
  • vous pouvez avoir besoin d'activer manuellement l'accès à l'application dans Paramètres > profils
96
répondu Balram Tiwari 2016-03-18 05:35:07

plus simplement vous pouvez utiliser DropBox pour cela. Les étapes restent essentiellement les mêmes. Vous pouvez faire ce qui suit -:

1) Téléchargez votre .ipa de dropBox, de Partager le lien de cette .ipa

2) Coller le lien partagé pour .ipa dans votre manifeste.fichier plist , Télécharger fichier de manifeste dans DropBox de nouveau partager le lien de cette .fichier plist

3)Coller le lien pour ce Plist dans votre index.fichier html avec une balise appropriée.

Partager cet indice.fichier html avec n'importe qui qui peut taper sur L'URL et télécharger. ou vous pouvez directement cliquer sur L'URL à la place.

12
répondu Vkharb 2017-08-07 08:37:54

Oui, safari détectera le *.ipa et va essayer de l'installer, mais l'ipa doit être correctement signé et autorisé uniquement des appareils seraient en mesure de l'installer.

http://www.diawi.com est un service qui vous aidera dans ce processus.

tout cela est pour la distribution ad-hoc, pas pour les applications de production.

Plus d'informations sur le lien ci-dessous : est - il un moyen d'installer L'application iPhone via un navigateur?

5
répondu IamAnil 2017-12-12 08:29:00

Réponse pour le compte d'Entreprise avec Xcode8

  1. exporter le .ipa en cochant la case" with manifest plist " et en fournissant les liens demandés.

  2. Télécharger le .fichier ipa et .fichier plist au même emplacement du serveur (que vous avez fourni lors de l'exportation .ipa / qui sont mentionnés dans le .fichier plist).

  3. créer le lien de téléchargement comme indiqué dessous. url lien vers votre .plist l'emplacement du fichier.

    imt-services://?action=download-manifest & url = https://yourdomainname.com/app.plist

  4. Copiez ce lien et collez-le dans votre navigateur safari sur votre iphone. Il demandera d'installer: D

créer un bouton html en utilisant cette url complète

2
répondu Lahiru Pinto 2016-11-18 11:48:25

il ne sera pas possible si vous souhaitez télécharger et installer directement l'application à partir de votre site web. Il y a une autre façon pour l'enterprise de déployer et d'installer app over the air. Votre URL doit pointer vers un service web qui héberge un fichier manifeste dans un format prédéfini requis par Apple. Ce service devrait retourner l'url du fichier de manifeste qui peut alors être utilisé comme ci-dessous:

NSString *urlString = // url string where your manifest.plist is deployed on your server.
NSURL *installationURL = [NSURL URLWithString:[NSString stringWithFormat:@"itms-services://?action=download-manifest&url=%@",[urlString stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]]];
[[UIApplication sharedApplication] openURL];

J'espère que ceci répondra à votre question.

1
répondu mithlesh jha 2014-05-09 09:59:15

il existe des outils en ligne qui simplifient ce processus de partage, par exemple https://abbashare.com ou https://diawi.com Créez un fichier ipa à partir de xcode avec le profil adhoc ou inhouse, et téléchargez ce fichier sur ce site. Je préfère abbashare parce que sauvegarder le fichier sur votre dropbox et vous pouvez le supprimer quand vous voulez

1
répondu Mario Buonomo 2017-04-12 21:53:53

créez une Machine virtuelle avec Windows dessus et téléchargez le fichier dans un dossier partagé. :- D

0
répondu Nico Westerdale 2017-11-18 17:41:28