web-dev-qa-db-fra.com

Génération d'une application IPA iOS non signée

Est-il possible de créer une application iOS non signée, un fichier .ipa? Nous avons un client d'entreprise qui requiert un fichier IPA non signé de notre application iOS, qu'il signera ensuite avec son produit MAM.

Si c'est possible, comment puis-je faire cela?

22
Diego Barros

Une fois, je le copie d'un blog. Les étapes sont les suivantes:

Construire .ipa non signé sans compte développeur sur Xcode 5

Pour désactiver la signature de code:

1.1 GoTo/Applications puis cliquez-droit sur Xcode.app et cliquez sur "Afficher le contenu du paquet"

1.2 GoTo Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS7.0.sdk/et copiez le fichier SDKSettings.plist sur le bureau.

1.3 Ouvrez le fichier copié SDKSettings.plist. Sous "DefaultProperties" ==> "dict" find CODE_SIGNING_REQUIRED et changez sa valeur de YES à NO. Sauvegarder le fichier

1.4 Copiez ce fichier SDKSettings.plist modifié dans Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS7.0.sdk/ en remplaçant le fichier original [VOUS POUVEZ SAUVER LE FICHIER ORIGINAL EN SAUVEGARDE] Faites l’AUTHENTIFICATION AU BESOIN

1.5 Redémarrez Xcode et ouvrez votre projet xcode exécutable

1.6 Dans Project Navigator, sélectionnez votre projet et ouvrez la section Paramètres de construction de votre projet et le sous-titre Tout sélectionner.

1.7 Sous Code Signing, recherchez Code Signing Identity et pour les modes Debug et Release, définissez Any SDK iOS sur Ne pas signer le code.

Pour faire une IPA:

2.1 Dans Xcode, accédez au produit et cliquez sur Archiver

2.2 La 7ème étape construira votre projet et créera une archive. Une fois le processus terminé, une nouvelle fenêtre Organiser - Archiver sera ouverte. Dans la liste de cette fenêtre, vous pouvez voir votre projet. Faites un clic droit sur le projet et cliquez sur Afficher dans le Finder pour afficher le fichier * .xcarchive.

2.3 Cliquez avec le bouton droit sur le fichier * .xcarchive, puis cliquez sur Afficher le contenu du paquet et accédez à Products => Applications où vous verrez un fichier app portant le nom de votre projet "nom du projet" .app

2.4 Ouvrez la vue de modification iTunes dans Applications et faites glisser le fichier d'application "nom du projet" .app dans iTunes.

2.5 Faites un clic droit sur votre application, cliquez sur Afficher dans le Finder. Là vous aurez votre fichier .ipa.

Notes IMPORTANTES :

3.1 À l'étape 2.1, si le menu Archive est désactivé, cela est probablement dû au fait que l'option de simulateur est actuellement sélectionnée comme cible d'exécution dans la barre d'outils Xcode. Le fait de modifier ce menu sur un périphérique connecté ou sur l'option générique Périphérique iOS iOS doit activer l'option Archiver du menu Produit.

3.2 Vous devrez également installer AppSync sur votre iPhone via Cydia.

47
Rashad

Le moyen le plus simple consiste à utiliser la ligne de commande.

    /usr/bin/xcodebuild -scheme MYSCHEME -workspace MYWORKSPACE.xcworkspace   
    -configuration Release clean archive -archivePath "build/APPNAME.xcarchive" 
    CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO
16
Daniel Broad

oui, c'est possible; Je le fais actuellement avec Xcode 5/iOS 7 SDK.

vous devez éditer le fichier /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS*.*.sdk/SDKSettings.plist comme ci-dessous.

change ça:

<key>CODE_SIGNING_REQUIRED</key>
<string>YES</string>

pour ça:

<key>CODE_SIGNING_REQUIRED</key>
<string>NO</string>

Les instructions que j'ai utilisées sont tirées de ce wiki ici, ce qui peut vous fournir des informations utiles supplémentaires.

Il se peut que vous deviez apporter des modifications supplémentaires aux paramètres de construction, telles que Code Signing Identity et Provisioning Profile (probablement simplement en les définissant sur none).

8
Brad Allred

Celles-ci étaient mes démarches après iTunes 12.7.0 car ils avaient supprimé l’élément de menu App View .

2.4 - Créer un nouveau dossier appelé charge utile

2.5 - Ajouter le "procjectname" .app dans le dossier Payload

2.6 - Compressez le fichier dans un dossier Zip

2.7 - Renommez le fichier de Payload.Zip en "nom du projet" .Zip

2.8 - Changement de "nom du projet" .Zip en "nom du projet" .ipa

1
PestyDestroyer

Etapes pour créer un IPA non signé (Testé sur Xcode 9.4.1)

Étape 1: Ouvrez le Finder> Allez au dossier .. comme ci-dessous 

 enter image description here

puis copiez et collez la ligne ci-dessous:

/ Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS*.*.sdk/SDKSettings.plist

Ouvrez iPhoneOS.sdk comme indiqué dans l'image ci-dessous:  enter image description here

Étape 2: Copiez la pliste SDKSettings dans un autre dossier car vous ne pouvez pas effectuer de modifications ici:

Étape 3: Effectuer la modification en double 

définir CODE_SIGNING_REQUIRED sur NO  enter image description here

Étape 4: Maintenant, remplacez les doublons par le premier (les deux noms doivent être identiques) . Cela demandera également à l'administrateur l'autorisation de changer.

Avertissement: Assurez-vous d’avoir copié le plist original et enregistrez-le pour vous y référer ultérieurement. 

Étape 5: Définissez maintenant l'identité de la signature du code sur l'image ci-dessous:  enter image description here

et maintenant vous pouvez créer le fichier archive  enter image description here

** Étape 6: ** Cliquez avec le bouton droit sur ce fichier d'archive de test et affichez-le dans le Finder:

Encore une fois, faites un clic droit et cliquez sur show le contenu du paquet

puis Produits> Applications> et copiez le fichier .App

Étape 7:

  • Copiez le fichier .app dans un nouveau sous-dossier nommé Payload (ce dossiername est sensible à la casse).
  • appuyez sur le dossier Payload et renommez-le en app_name-version_number.ipa
  • Exemple - Test-version_1.1.ipa

Et enfin, vous avez un fichier IPA non signé :)

Remarque: Une fois les modifications apportées à votre application, remplacez à nouveau la pliste d'origine ou définissez CODE_SIGNING_REQUIRED sur YES. 

0
Alok