Prova l'app iOS sul dispositivo senza programma per sviluppatori Apple o jailbreak


382

Come posso testare un'applicazione iOS sul mio iPod Touch senza registrarmi al programma per sviluppatori Apple o eseguire il jailbreak del mio iPod?

Né è un'opzione praticabile al momento.

Mi piacerebbe provare sul dispositivo stesso anziché sul simulatore su schermo per vedere come si comporta su un vero iPod.


2
L'8 giugno, Apple ha annunciato che con Xcode 7 è possibile l'installazione di tutte le app sviluppate sui propri dispositivi senza un certificato del programma per sviluppatori Apple. Il sito web degli sviluppatori Apple afferma che dobbiamo solo accedere con un ID Apple.
skyvin,

Controllare questa risposta per l'utilizzo di provisioning gratuitamente in dettaglio stackoverflow.com/questions/30973799/...
Aditya Deshmane

L'account sviluppatore a pagamento è un problema? Oppure non vuoi registrare il tuo UDID con Apple? Anche l'account gratuito nella risposta accettata richiede di disporre di un account gratuito e registrato con il programma per sviluppatori Apple e di aggiungere l'UDID del dispositivo a un profilo di provisioning di sviluppo iOS.
Wottle

1
Ecco un altro guida passo passo: stackoverflow.com/a/33928777
Suragch

@wottle: "account sviluppatore a pagamento" è una scommessa sicura, considerando che la registrazione dell'UDID con un account gratuito non è stata un'opzione, come, cinque anni fa (quando è stata posta questa domanda). E all'epoca, la risposta accettata (la mia) diceva semplicemente che non c'erano altre opzioni.
BoltClock

Risposte:


429

Sette anni dopo la nascita dell'App Store (10 luglio 2008), Apple ha finalmente introdotto una nuova funzionalità in Xcode 7 che ti consente di distribuire ed eseguire un numero qualsiasi di app su qualsiasi dispositivo, semplicemente accedendo con la tua Apple ID. Non avrai più bisogno di un abbonamento al Programma a pagamento per distribuire app sul tuo dispositivo (e sicuramente non dovrai più effettuare il jailbreak del tuo dispositivo se non ti senti a tuo agio nel farlo).

Bene, non per la maggior parte dei casi d'uso comunque. Per ovvie ragioni, alcune funzionalità e diritti che richiedono l'appartenenza al Programma come Game Center e acquisti in-app non saranno disponibili per le app distribuite utilizzando questo metodo. Dalla documentazione per gli sviluppatori di Apple :

Avvia la tua app sui dispositivi utilizzando il provisioning gratuito (iOS, watchOS)

Se non ti iscrivi al Programma per sviluppatori Apple, puoi comunque creare ed eseguire la tua app sui tuoi dispositivi utilizzando il provisioning gratuito . Tuttavia, le funzionalità disponibili per l'app, descritte in Aggiunta di funzionalità , sono limitate quando non si appartiene al Programma per gli sviluppatori Apple.

I passaggi precisi per ottenere la tua app sul tuo dispositivo iOS o Apple Watch seguono immediatamente in questo modo (schermate omesse per facilità di scrematura):

  1. In Xcode, aggiungi l'ID Apple alle preferenze Account, descritto in Aggiunta dell'account ID Apple in Xcode .

  2. Nel navigatore del progetto, selezionare il progetto e il target per visualizzare l'editor del progetto.

  3. Fai clic su Generale e scegli il tuo nome dal menu a comparsa Squadra.

  4. Collega il dispositivo al Mac e scegli il dispositivo dal menu della barra degli strumenti Schema.

  5. Sotto il menu a comparsa Team, fai clic su Risolvi problema.

    Xcode crea un profilo di provisioning gratuito per te e il testo di avviso nel menu a comparsa Team scompare.

  6. Fai clic sul pulsante Esegui.

    Xcode installa l'app sul dispositivo prima di avviare l'app.

Prima di Xcode 7, era richiesta un'iscrizione al Programma per firmare i certificati di provisioning richiesti per distribuire le app sui dispositivi. L'unica altra alternativa era il jailbreak. Con Xcode 7, non è più necessario eseguire il jailbreak del dispositivo solo per eseguire app distribuite al di fuori dell'App Store o per testare le app se non si può permettersi di aderire al Programma o per distribuire e utilizzare le app sviluppate per uso personale se non intendete distribuirli tramite l'App Store (nel qual caso probabilmente non avrete bisogno dei diritti offerti dall'iscrizione al Programma).


Cordiali saluti: ho installato Xcode 7 e ho provato a correre sul mio telefono ma non sono riuscito a ottenere tutte le dipendenze di build giuste, quindi sono tornato a Xcode 6 e finalmente sono stato in grado di funzionare sul mio dispositivo! Xcode 7 deve aggiungere una licenza al tuo account che Xcode 6 riconosce :)
Mister Mister,

1
Ho appena distribuito alcune delle app di esempio che ho sviluppato nelle ultime due settimane sul mio iPAD Air usando Xcode7. Offre un'esperienza molto migliore per poter effettivamente testare la tua app senza dover pagare l'abbonamento. Questo post è stato davvero utile. Grazie ragazzi.
learn_develop,

1
@BoltClock Penso anche che dovresti dichiarare più chiaramente quando Apple ha apportato questa modifica. "Sette anni dopo la nascita dell'App Store" -> molte persone probabilmente non ricordano quando è stato creato l'App Store e non vogliono cercarlo o fare l'aritmetica.
Miscreant

5
Invece di Scheme, dovevo andare su Prodotto-> Destinazione. Lì ho dovuto selezionare il mio dispositivo. Quindi ha funzionato. Ricorda inoltre di consentire l'installazione di tali app sul tuo iPhone andando su Impostazioni -> Generale -> Profilo Vedrai il tuo account di sviluppo. Toccalo. Dovresti vedere l'app elencata lì. Toccalo. Tocca "Trust (nome qui)"
mutp

Swift 2 adotta un paradigma di design funzionale e sarà presto aperto. Xcode 7 e iOS 9 offrono il provisioning gratuito dei dispositivi agli sviluppatori imminenti e potenzialmente rivoluzionari. Viviamo veramente in un'era ideologicamente riformata, e che ora è essere vivi.
lol

82

C'è un modo per farlo.

Sarà necessario l'accesso ROOT per modificare il seguente file.

Passare a /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.2.sdke aprire il file SDKSettings.plist.

In quel file, espandi DefaultProperties e modifica CODE_SIGNING_REQUIRED in NO, mentre sei lì, puoi anche cambiare ENTITLEMENTS_REQUIRED in NO.

Dovrai riavviare Xcode per rendere effettive le modifiche. Inoltre, è necessario farlo per ogni .sdk che si desidera poter eseguire sul dispositivo.

Ora, nelle impostazioni del progetto, è possibile passare Code Signing Identitya Don't Code Sign.

L'app dovrebbe ora essere compilata e installata correttamente sul dispositivo.

AGGIORNARE:

Ci sono alcuni problemi con iOS 5.1 SDK che questo metodo potrebbe non funzionare esattamente allo stesso modo. Eventuali altri aggiornamenti verranno elencati qui quando saranno disponibili.

AGGIORNARE:

Puoi trovare il percorso corretto SDKSettings.plistcon xcrun.

xcrun --sdk iphoneos --show-sdk-path

Nuova posizione SDKSettings.plist per l'SDK di iOS 5.1:

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


9
Questo creerà un'app non firmata, ma come installarla / eseguirla su un dispositivo non jailbreak?
David Gelhar,

4
Potrebbe essere installato ma non si aprirà mai.
Domness,

4
Sì, a partire da iOS5 è ancora possibile. Dovrai comunque ldidfalsificare il codice per firmare il tuo file binario. code.google.com/p/networkpx/downloads/detail?name=ldid
WrightsCS

7
l'OP ha chiesto una soluzione non jailbreak
malhal

8
Per favore, considera di ripulire questa risposta. La risposta stessa non menziona nulla sulla firma di codice falso con ldid. Nei tuoi commenti, fai un commento dicendo che ldidnon è necessario l'accesso con, e in un altro commento, dici che lo è. Dici anche che questa risposta non ha nulla a che fare con il jailbreak, ma sono abbastanza sicuro che lo faccia. Il jailbreak consente l'esecuzione di file binari che non hanno firme valide . Se la tua app non è firmata o contraffatta con ldid, non verrà eseguita su un dispositivo iOS di serie ... a meno che tu non stia facendo qualcos'altro che non hai descritto qui.
Nate,

55

Con Xcode 7 non è più necessario disporre di un account sviluppatore per testare le app sul dispositivo :

inserisci qui la descrizione dell'immagine

Dai un'occhiata qui .

Tieni presente che questo è ufficialmente supportato da Apple, quindi non è necessario disporre di dispositivi jailbreak o test sul simulatore, ma dovrai utilizzare Xcode 7 (attualmente in versione beta al momento di questo post) o successivo.

Ho distribuito correttamente un'app sul mio iPhone senza un account sviluppatore. Dovrai utilizzare il tuo account iCloud per risolvere i problemi del profilo di provisioning. Basta aggiungere il tuo account iCloud e assegnarlo nel menu a discesa Team (nel menu Identità ) e il pulsante Risolvi problema dovrebbe fare il resto.


AGGIORNARE:

Alcune persone hanno problemi con iOS 8.4 , ecco come risolverlo .


È ufficiale, comunque in modalità beta
Fadi Obaji,

Qualcuno è riuscito a utilizzare questa nuova funzionalità? Non funziona per me
Daniil,

Ha funzionato per me. Stai usando XCode 7?
Roberto,

Qualche tutorial? Compilazione di un'app pythonista per il mio iPad
Luke Taylor,

Qual è l'identificatore del bundle deve essere?
Luke Taylor,

12

Non ho mai provato, ma facendo una ricerca su Google, Jailcoder sembra una soluzione. Il problema è che il dispositivo deve essere sottoposto a jailbreak. Se qualcuno lo prova, commenta e facci sapere come ha funzionato.


2
Ha funzionato perfettamente per me. L'unica parte fastidiosa è che vogliono che tu approvi l'aggiunta di alcuni certificati al portachiavi senza dirti esattamente cosa stanno facendo. Sembrano essere gli stessi di se dovessi provare a farlo come un processo manuale, comunque. È abbastanza semplice. Sono passato da un'installazione pulita di Xcode a una delle mie app in esecuzione sul mio iPhone in meno di 5 minuti. Sto eseguendo il jailbreak di Xcode 4 e iOS 5.0.1.
Stone Mason,

Grande! grazie per la risposta indietro @ cool_me5000. La tua esperienza con esso aiuterà altre persone che vogliono provarlo. Lo proverò un giorno.
Firula,

Questo è obsoleto e non risponde ai requisiti stabiliti nella domanda, per farlo senza jailbreak.
dgeske,

8

Vai a impostazioni di generazione , sotto Firma codice , impostare Code Signing Identity come iOS Developer & provisioning profilo come automatico .

Seleziona il tuo dispositivo (ora visibile) dall'elenco a discesa ed esegui la tua app.

inserisci qui la descrizione dell'immagine



2

ho appena testato JailCoder www.jailcoder.com e sono in grado di eseguire ed eseguire il debug su dispositivi jailbreak. Hai solo bisogno di una nuova installazione intatta di xCode, in caso contrario, basta disinstallare e installare nuovamente xCode ed eseguire JailCoder


1

Vale la pena fare domanda per il programma per sviluppatori Apple. Sarai in grado di utilizzare il provisioning ad hoc per distribuire la tua app ai tester e ai dispositivi di test. Puoi aggiungere 100 dispositivi di provisioning ad hoc al tuo programma di sviluppo.


17
Ne varrebbe la pena, certo. Ma 99 dollari? L'ultima volta che ho pagato qualcuno con 99 dollari per farmi installare un programma che ho scritto sul mio computer non è mai stato ... mai. E ho scritto molti programmi e posseduto molte macchine.
Sean Worle,

-1

Segui questi passi:

1.Apri l'Xcode-> Seleziona il progetto-> seleziona gli obiettivi-> Spunta e gestisci automaticamente la firma-> quindi aggiungi il tuo account Apple Developer-> pulisci il progetto-> costruisci il progetto-> esegui, tutto funziona bene.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.