Comment puis-je déployer une application iPhone à partir de Xcode sur un véritable appareil iPhone?

Comment puis-je déployer une application iPhone à partir de Xcode sur un appareil iPhone réel sans avoir un certificat Apple à 99$US?

154
demandé sur Suragch 2008-10-29 14:06:18

12 réponses

on dirait que la demande n'est pas signée. Télécharger Ldid à partir de Cydia, puis l'utiliser comme suit: ldid -S /Applications/AccelerometerGraph.app/AccelerometerGraph

assurez-vous Également que le binaire est marqué comme exécutable: chmod +x /Applications/AccelerometerGraph.app/AccelerometerGraph

56
répondu rpetrich 2008-10-30 23:48:56

j'ai utilisé un mélange de deux howtos: Jason et alex . Avec la seconde nous avons l'avantage de pouvoir déboguer. Je vais surtout juste copier les deux ci-dessous (et simplifier alex de):

mise à jour Janvier 2012: cela fonctionne toujours sur le SDK 4.2.1 et iOS 5.0.1 - je viens de tester tout sur un nouveau ordinateur et appareil!


1. Créer Un Certificat Auto-Signé

mettre à jour votre iPhone SDK pour permettre l'utilisation du présent certificat:

  1. Lancer Le Trousseau D'Accès.App. Si aucun élément n'est sélectionné, à partir du menu du porte-clés, sélectionnez Assistant de certificat, puis créez un certificat.

    • nom: développeur iPhone
    • Type De Certificat: Code Signing
    • permettez-moi de remplacer par défaut: Oui
  2. , Cliquez Sur Continuer

    • validité: 3650 jours
  3. , Cliquez Sur Continuer

  4. Vide le e-Mail champ d'adresse.

  5. , Cliquez sur Poursuivra jusqu'à son terme .

    Vous devriez voir "Ce certificat racine n'est pas digne de confiance" . Ce qui est attendu.

  6. régler le SDK iPhone pour permettre l'utilisation du certificat auto-signé:

    sudo /usr/bin/sed -i .bak 's/XCiPhoneOSCodeSignContext/XCCodeSignContext/' /Developer/Platforms/iPhoneOS.platform/Info.plist
    

    si vous avez Xcode ouvert, redémarrez-le pour que ce changement prenne effet.

et si vous êtes sur iOS 5, c'est tout! Essayez-le maintenant! Il peut ne pas permettre le débogage, mais l'application sera là!

j'ai été très surpris par cela parce que, comme vous devriez savoir , Je n'ai aucune idée sur ce que tous ces piratages! J'ai tout d'améliorer un peu ce que j'ai trouvé d'ailleurs, comme je l'ai indiqué.

donc oui, la méthode complète ne fonctionne plus de la même façon et je ne pouvais pas m'embêter à en trouver une nouvelle... Sauf pour , qui utilise un outil appelé Theos mais je ne pouvais pas passer par tout le processus.

enfin, si vous avez besoin de uninstall it pour quelque raison que ce soit, consultez la fin de cet article. Dans mon cas, je devais le faire parce que je ne pouvais pas comprendre pourquoi tout le bleu cette méthode a cessé de fonctionner, et je ne pouvais plus m'en soucier puisque nous avons déjà la licence attendue depuis longtemps. (Foutue numération DUNS prend tellement de temps...)

.

.


.

.

.

2. Permettre à Xcode de construire sur le périphérique Jailbroken

  1. sur votre iPhone jailbroken, installez l'application AppSync en ajoutant la source http://cydia.hackulo.us

  2. supprimer les exigences SDK pour le signe de code et les droits (j'aime sed !):

    sudo /usr/bin/sed -i .bak '/_REQUIRED/N;s/YES/NO/' /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.0.sdk/SDKSettings.plist
    
  3. faites attention à la partie iPhoneOS5.0.sdk . Si, par exemple, vous utilisez iOS 4.2 SDK, il suffit de le remplacer en conséquence:

    sudo /usr/bin/sed -i .bak '/_REQUIRED/N;s/YES/NO/' /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.2.sdk/SDKSettings.plist
    
  4. " conclure la suppression de l'exigence par la correction du Xcode. Cela signifie édition binaire:

    cd /Developer/Platforms/iPhoneOS.platform/Developer/Library/Xcode/Plug-ins/iPhoneOS\ Build\ System\ Support.xcplugin/Contents/MacOS/
    dd if=iPhoneOS\ Build\ System\ Support of=working bs=500 count=255
    printf "\xc3\x26\x00\x00" >> working
    /bin/mv -n iPhoneOS\ Build\ System\ Support iPhoneOS\ Build\ System\ Support.original
    /bin/mv working iPhoneOS\ Build\ System\ Support
    chmod a+x iPhoneOS\ Build\ System\ Support
    

    si vous avez Xcode ouvert, redémarrez-le pour que cette modification (et la dernière) prenne effet.

  5. Ouvrir Projet ">Modifier les Paramètres de Projet" (dans le menu). Cliquez sur l'onglet " Build " . Trouver "Code Signing Identity" et son enfant "Any iPhoneOS Device" dans la liste, et mettre à la fois à la rubrique " Don't Indicatif De Code" :

    alt text

    après cela, n'hésitez pas à annuler l'étape 3. Au moins dans mon cas, c'est allé très bien.

  6. définir Xcode pour coder la signature avec notre certificat auto-signé (le premier how-to). Cette étape peut probablement être sautée si vous ne voulez pas être en mesure de déboguer:

    mkdir /Developer/iphoneentitlements401
    cd /Developer/iphoneentitlements401
    curl -O http://www.alexwhittemore.com/iphone/gen_entitlements.txt
    mv gen_entitlements.txt gen_entitlements.py
    chmod 777 gen_entitlements.py
    

    Branchez votre iPhone et ouvrez Xcode. Ouvrir La Fenêtre>Organisateur. Sélectionnez l'appareil dans la liste de gauche et cliquez sur "Utiliser pour le développement"."Vous serez invité pour une connexion de site d'approvisionnement, cliquez sur Annuler. Il est là pour faciliter l'approvisionnement légitime, mais ne rend pas l'approvisionnement illégitime plus difficile.

    maintenant vous devez faire cette dernière partie pour chaque nouveau projet que vous faites . Aller au menu Projet > nouvelle phase de construction > Nouveau Exécutez La Phase De Construction Du Script. Dans la fenêtre, copiez / collez ceci:

    export CODESIGN_ALLOCATE=/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/codesign_allocate
    if [ "${PLATFORM_NAME}" == "iphoneos" ]; then
    /Developer/iphoneentitlements401/gen_entitlements.py "my.company.${PROJECT_NAME}" "${BUILT_PRODUCTS_DIR}/${WRAPPER_NAME}/${PROJECT_NAME}.xcent";
    codesign -f -s "iPhone Developer" --entitlements "${BUILT_PRODUCTS_DIR}/${WRAPPER_NAME}/${PROJECT_NAME}.xcent" "${BUILT_PRODUCTS_DIR}/${WRAPPER_NAME}/"
    fi
    

.

.


.

.

désinstallation

pour la première partie:

sudo mv -f /Developer/Platforms/iPhoneOS.platform/Info.plist.bak /Developer/Platforms/iPhoneOS.platform/Info.plist

pour la 2ème partie:

sudo mv -f /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.0.sdk/SDKSettings.plist.bak /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.0.sdk/SDKSettings.plist
sudo mv -f iPhoneOS\ Build\ System\ Support.original iPhoneOS\ Build\ System\ Support

dans le cas où vous avez fait l'étape 3 au lieu de 2, Il suffit de la modifier en conséquence ainsi:

sudo mv -f /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.2.sdk/SDKSettings.plist.bak /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.2.sdk/SDKSettings.plist

pour le reste, est juste revenir ce que vous avez fait sur XCode et supprimer /Developer/iphoneentitlements401/gen_entitlements.py si vous voulez:

sudo rm -f /Developer/iphoneentitlements401/gen_entitlements.py
91
répondu cregox 2017-05-23 12:34:27

Fourniture gratuite après Xcode 7

afin de tester votre application sur un appareil réel plutôt que de payer les frais de développeur Apple (ou jailbreak votre appareil), vous pouvez utiliser le nouveau libre approvisionnement que Xcode 7 et iOS 9 prend en charge.

Voici les étapes prises plus ou moins de la documentation (ce qui est assez bon, alors donnez-lui une lecture):

1. Ajouter votre Apple ID dans Xcode

aller à Xcode > Préférences > onglet Comptes > Ajouter bouton (+) > Ajouter Apple ID. Voir the docs pour plus d'aide.

enter image description here

2. Cliquez sur l'onglet Général dans le navigateur du projet

enter image description here

3. Choisissez votre carte D'identité l'Équipe menu contextuel.

enter image description here

4. Connectez votre appareil et choisir dans le menu configuration.

enter image description here

5. Cliquez sur le bouton "Fix Issues

enter image description here

si vous obtenez une erreur sur le fait que le nom du paquet n'est pas valide, changez-le en quelque chose d'unique.

6. Lancez votre application

dans Xcode, cliquez sur le bouton Construire et exécuter.

enter image description here

7. Faites confiance au développeur d'applications dans les paramètres de périphérique

après avoir lancé votre application, vous obtiendrez un erreur de sécurité parce que l'application que vous souhaitez exécuter n'est pas de l'App Store.

enter image description here

Sur votre périphérique , allez dans Réglages > Général > Profil > votre-Apple-ID-nom > Trust votre-Apple-ID-nom > Confiance.

8. Exécutez votre application sur votre appareil.

C'est tout. Vous pouvez maintenant lancer votre propre (ou toute autre application pour laquelle vous avez le code source) sans avoir à distribuer les $99 dollars. Merci, Apple, d'avoir enfin permis cela.

41
répondu Suragch 2016-09-24 06:15:35

vous ne pouvez pas, pas si vous parlez d'applications construites avec le SDK officiel et déployant directement à partir de xcode.

9
répondu micmcg 2008-10-29 23:29:06

vous devrez faire sauter votre appareil.

8
répondu Can Berk Güder 2008-10-29 11:08:09

Il ya un moyen de déployer des applications iPhone sans payer à apple Vous devrez briser votre appareil et suivre les instructions de http://www.alexwhittemore.com/?p=398

6
répondu Leo 2010-09-11 17:28:03

rien que j'ai vu n'importe où indique que vous pouvez ad-hoc déployer à un vrai iPhone sans un certificat (payé pour).

5
répondu Matthew Phillips 2009-11-14 07:42:02

j'ai passé en revue le développeur Apple hier soir et dans le certificat D'approvisionnement j'ai trouvé quelque chose comme - "les membres de L'équipe de signature". Je pense qu'il y a une façon d'ajouter des membres de l'équipe au profil rémunéré. Vous pouvez simplement demander au propriétaire de L'application(payé un) de vous ajouter en tant que membre de l'équipe. Je ne suis pas sûr. Toujours à la recherche sur.

4
répondu Akshay 2011-02-08 05:48:31

Non, c'est facile à faire. Dans Xcode, définissez la Configuration Active À Release. Changez le dispositif de simulateur en dispositif-quel que soit le SDK. Si vous souhaitez exporter directement vers votre iPhone, connectez-le à votre ordinateur. Appuyez sur Build and Go. Si votre iPhone n'est pas connecté à votre ordinateur, un message vous viennent en disant que votre iPhone n'est pas connecté.

si cela s'applique à vous: (iPhone n'était pas connecté)

allez dans votre dossier projets et puis dans le dossier de construction à l'intérieur. Allez dans le dossier Release-iphoneos et prenez l'application à l'intérieur, faites glisser et déposez sur l'icône iTunes. Lorsque vous synchronisez votre périphérique iTouch, il le copie sur votre périphérique. Il apparaîtra également dans iTunes comme une application pour l'iPhone.

Espérons que cette aide!

P.S.: si cela dit quelque chose à propos d'un certificat qui n'est pas valide, cliquez simplement sur le projet dans Xcode, la petite icône du projet dans la pile de fichiers à gauche, et appuyez sur Apple+I, ou obtenez des informations à partir de la barre de menu. Cliquez sur Construire en haut. Sous la signature de Code, changer la signature de Code identité - tout appareil d'OS iPhone à être ne pas signer.

3
répondu cdespinosa 2010-01-14 05:43:53

cela dépend vraiment de la version de Xcode que vous utilisez car différentes versions utilisent différentes méthodes pour se déployer sur votre iPhone sans un profil de provisionnement.

Xcode 3.2.1 est une bonne version et est facile à régler, mais nous avons besoin de savoir quelle version vous utilisez.

2
répondu Magnatek 2009-11-09 01:17:15
La Solution

Postée par Cawas fonctionne aussi parfaitement avec XCode4. Cependant, il y a quelques modifications à L'interface utilisateur D'IDE, donc vous devez faire quelques recherches pour trouver Run Script:)

dans la vue de navigateur de projet cliquez sur l'élément racine du projet, puis dans la fenêtre du milieu sélectionnez la cible, puis cliquez sur L'onglet phases de construction et au bas vous verrez le bouton Ajouter Phase de construction, cliquez et sélectionnez Ajouter Exécuter Script, puis coller" codesign " script posté par Cawas.

2
répondu Gobol 2011-05-22 19:23:50

il n'y a pas de solution. Vous ne pouvez déployer des applications ad hoc que si elles sont enregistrées sur votre appareil. Cela vous empêche de construire votre propre app store..

1
répondu 2009-07-27 11:29:29