Domanda

Se creo un'applicazione sul mio Mac, esiste un modo per farla funzionare su un iPhone senza passare dall'App Store?

Non importa se l'iPhone deve essere sottoposto a jailbreak, purché sia ​​ancora possibile eseguire un'applicazione creata utilizzando l'SDK ufficiale.Per ragioni di cui non parlerò, non posso far passare questo programma attraverso l'app store.

È stato utile?

Soluzione

Programma ufficiale per sviluppatori

Per un iPhone standard dovrai pagare 99 dollari all'anno per essere membro del programma per sviluppatori.Potrai quindi utilizzare il sistema ad hoc per installare la tua applicazione su un massimo di 100 dispositivi.Il programma per sviluppatori contiene i dettagli ma prevede l'aggiunta di UUID per ciascuno dei dispositivi al pacchetto dell'applicazione.Gli UUID possono essere recuperati più facilmente utilizzando Aiutante ad hoc disponibile sull'App Store.Per ulteriori dettagli su questo metodo, vedere Craig Hockenberry Beta test su iPhone 2.0 articolo

iPhone con jailbreak

Per gli iPhone con jailbreak, puoi utilizzare il seguente metodo che ho testato personalmente utilizzando il file AccelerometroGrafico app di esempio su iPhone OS 3.0.

Crea certificato autofirmato

Per prima cosa dovrai creare un certificato autofirmato e applicare una patch all'SDK del tuo iPhone per consentire l'uso di questo certificato:

  1. Avvia Portachiavi Access.app.Senza alcun elemento selezionato, dal menu Portachiavi seleziona Assistente certificato, quindi Crea un certificato.

    Nome:Sviluppatore iPhone
    Tipo di certificato:Firma del codice
    Permettimi di sovrascrivere le impostazioni predefinite:SÌ

  2. Fare clic su Continua

    Validità:3650 giorni

  3. Fare clic su Continua

  4. Svuota il campo Indirizzo email.

  5. Fare clic su Continua fino al completamento.

    Dovresti vedere "Questo certificato radice non è attendibile".Questo è previsto.

  6. Imposta l'SDK dell'iPhone per consentire l'utilizzo del certificato autofirmato:

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

    Se hai Xcode aperto, riavvialo affinché questa modifica abbia effetto.

Distribuzione manuale tramite WiFi

I seguenti passaggi richiedono openssh, E uikittools da installare per primo.Sostituire jasoniphone.local con il nome host del dispositivo di destinazione.Assicurati di impostare la tua password su entrambi mobile E root utenti dopo aver installato SSH.

Per compilare e installare manualmente la tua applicazione sul telefono come app di sistema (ignorando il sistema di installazione di Apple):

  1. Progetto, Imposta SDK attivo, Dispositivo e Imposta configurazione build attiva, Rilascio.

  2. Compila il tuo progetto normalmente (usando Build, non Build & Go).

  3. Nel build/Release-iphoneos directory avrai un bundle di app.Utilizza il tuo metodo preferito per trasferirlo in /Applicazioni sul dispositivo.

    scp -r AccelerometerGraph.app root@jasoniphone:/Applications/

  4. Fai sapere a SpringBoard che la nuova applicazione è stata installata:

    ssh mobile@jasoniphone.local uicache

    Questo deve essere fatto solo quando aggiungi o rimuovi applicazioni.Le applicazioni aggiornate devono solo essere riavviate.

Per semplificarti la vita durante lo sviluppo, puoi configurare l'autenticazione con chiave SSH e aggiungere questi passaggi aggiuntivi come passaggio di creazione personalizzato nel tuo progetto.

Tieni presente che se desideri rimuovere l'applicazione in un secondo momento non puoi farlo tramite l'interfaccia SpringBoard standard e dovrai utilizzare SSH e aggiornare SpringBoard:

ssh root@jasoniphone.local rm -r /Applications/AccelerometerGraph.app &&
ssh mobile@jasoniphone.local uicache

Altri suggerimenti

Sì, dopo aver aderito all'iPhone Developer Program e pagato Apple $ 99, puoi fornire le tue applicazioni su un massimo di 100 dispositivi iOS.

  • Crea la tua app
  • Carica su un sito crack
  • (Se l'app è abbastanza buona) la versione crack verrà pubblicata pochi minuti dopo e sarà pronta per essere scaricata da tutti ;-)

Con l'aiuto di questo post, ho creato uno script che verrà installato tramite l'app Installous per una distribuzione rapida:

# compress application.
/bin/mkdir -p $CONFIGURATION_BUILD_DIR/Payload
/bin/cp -R $CONFIGURATION_BUILD_DIR/MyApp.app $CONFIGURATION_BUILD_DIR/Payload
/bin/cp iTunesCrap/logo_itunes.png $CONFIGURATION_BUILD_DIR/iTunesArtwork
/bin/cp iTunesCrap/iTunesMetadata.plist $CONFIGURATION_BUILD_DIR/iTunesMetadata.plist

cd $CONFIGURATION_BUILD_DIR

# zip up the HelloWorld directory

/usr/bin/zip -r MyApp.ipa Payload iTunesArtwork iTunesMetadata.plist

Ciò che manca nel post di cui sopra sono i metadati di iTunes.Senza questo, Installous non installerà correttamente le app.Ecco un esempio di iTunesMetadata:

<?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>appleId</key>
    <string></string>
    <key>artistId</key>
    <integer>0</integer>
    <key>artistName</key>
    <string>MYCOMPANY</string>
    <key>buy-only</key>
    <true/>
    <key>buyParams</key>
    <string></string>
    <key>copyright</key>
    <string></string>
    <key>drmVersionNumber</key>
    <integer>0</integer>
    <key>fileExtension</key>
    <string>.app</string>
    <key>genre</key>
    <string></string>
    <key>genreId</key>
    <integer>0</integer>
    <key>itemId</key>
    <integer>0</integer>
    <key>itemName</key>
    <string>MYAPP</string>
    <key>kind</key>
    <string>software</string>
    <key>playlistArtistName</key>
    <string>MYCOMPANY</string>
    <key>playlistName</key>
    <string>MYAPP</string>
    <key>price</key>
    <integer>0</integer>
    <key>priceDisplay</key>
    <string>nil</string>
    <key>rating</key>
    <dict>
        <key>content</key>
        <string></string>
        <key>label</key>
        <string>4+</string>
        <key>rank</key>
        <integer>100</integer>
        <key>system</key>
        <string>itunes-games</string>
    </dict>
    <key>releaseDate</key>
    <string>Sunday, December 12, 2010</string>
    <key>s</key>
    <integer>143441</integer>
    <key>softwareIcon57x57URL</key>
    <string></string>
    <key>softwareIconNeedsShine</key>
    <false/>
    <key>softwareSupportedDeviceIds</key>
    <array>
        <integer>1</integer>
    </array>
    <key>softwareVersionBundleId</key>
    <string>com.mycompany.myapp</string>
    <key>softwareVersionExternalIdentifier</key>
    <integer>0</integer>
    <key>softwareVersionExternalIdentifiers</key>
    <array>
        <integer>1466803</integer>
        <integer>1529132</integer>
        <integer>1602608</integer>
        <integer>1651681</integer>
        <integer>1750461</integer>
        <integer>1930253</integer>
        <integer>1961532</integer>
        <integer>1973932</integer>
        <integer>2026202</integer>
        <integer>2526384</integer>
        <integer>2641622</integer>
        <integer>2703653</integer>
    </array>
    <key>vendorId</key>
    <integer>0</integer>
    <key>versionRestrictions</key>
    <integer>0</integer>
</dict>
</plist>

Ovviamente sostituisci tutte le istanze di MyApp con il nome della tua app e MyCompany con il nome della tua azienda.

Fondamentalmente, questo verrà installato su qualsiasi dispositivo jailbroken con Installous installato.Dopo la configurazione, ciò si traduce in una distribuzione molto rapida, poiché può essere installato da qualsiasi luogo, basta caricarlo sul sito Web della propria azienda, scaricare il file direttamente sul dispositivo e copiarlo/spostarlo su ~/Documents/Installous/Downloads.

Con l'imminente Xcode 7 ora è possibile installare app sui tuoi dispositivi senza una licenza per sviluppatore Apple, quindi ora è possibile saltare nell'App Store e non dovrai effettuare il jailbreak del tuo dispositivo.

Ora tutti possono scaricare la propria app sul proprio dispositivo Apple.

Xcode 7 e Swift ora rendono più facile per tutti creare app e eseguirle direttamente sui loro dispositivi Apple.Basta accedere con il tuo ID Apple e trasformare la tua idea in un'app che puoi toccare sul tuo iPad, iPhone o Apple Watch.Scarica Xcode 7 Beta e provalo da solo oggi.Non è richiesta l'iscrizione al programma.

Citato da: https://developer.apple.com/xcode/

Aggiornamento:

XCode 7 è ora rilasciato:

Sviluppo gratuito sul dispositivo Ora tutti possono eseguire e testare la propria app su un dispositivo, per gratuitamente.Puoi eseguire e eseguire il debug delle tue creazioni su un Mac, iPhone, iPad, iPod Touch o Apple Watch senza alcuna commissione e nessun programma da partecipare.Tutto quello che devi fare è inserire l'ID Apple gratuito in Xcode.Puoi anche utilizzare lo stesso ID Apple che usi già per l'App Store o iTunes.Una volta perfezionata la tua app, il programma Apple Developer può aiutarti a ottenerlo sull'App Store.

Vedere Avvio dell'app sui dispositivi Per informazioni dettagliate sull'installazione e l'esecuzione dei dispositivi.

Vale la pena notare che se segui il percorso del jailbreak, è possibile (probabile?) che un aggiornamento del sistema operativo iPhone uccida la tua capacità di eseguire queste app.Seguirei la strada ufficiale e pagherei $ 99 per ottenere l'autorizzazione.Oltre a non doverti preoccupare che le tue app vengano danneggiate, hai anche l'opportunità (se lo desideri) di rilasciare le tue app nello store.

Dopo aver copiato l'app sull'iPhone nel modo descritto da @Jason Weathered, assicurati di "chmod +x" dell'app, altrimenti non verrà eseguita.

*Modifiche/Note per cui funziona Xcodice 3.2.1 E Kit SDK per iPhone 3.1.2

Distribuzione manuale tramite WiFi

2) Assicurati di riavviare Xcode dopo aver modificato Info.plist

3) Il comando "uicache" non viene trovato, usando killall -HUP SpringBoard ha funzionato bene per me.

A parte questo, posso confermare che funziona bene.

Gli utenti Mac, utilizzando PwnageTool 3.1.4, hanno funzionato benissimo per il jailbreak (DL tramite torrent).

Se patch /Developer/Platforms/iPhoneOS.platform/Info.plist e quindi provare a eseguire il debug di un'applicazione in esecuzione sul dispositivo utilizzando un vero profilo di provisioning di sviluppo di Apple, probabilmente non funzionerà.I sintomi sono strani messaggi di errore da com.apple.debugserver e che puoi utilizzare qualsiasi identificatore di bundle senza ricevere un errore durante la creazione in Xcode.La soluzione è ripristinare Info.plist.

Puoi usare AppBox, Un'applicazione Mac che utilizza il tuo account Dropbox per distribuire app aziendali e ad hoc, se desideri installarle da qualsiasi altro browser.

https://github.com/vineetchoudhary/AppBox-iOSAppsWirelessInstallation/releases


Opzioni

Archivia e carica IPA

  • Basta selezionare Progetto/Area di lavoro su archivio -> fare ipa -> carica ipa -> inviare una mail -> e spegnimento mac

Carica solo IPA

  • Basta selezionare il file IPA in carica ipa -> inviare una mail -> e spegnimento mac

Caratteristica

  • Mantieni lo stesso collegamento
    • Questa funzione manterrà lo stesso URL breve per tutti i futuri ipa caricati con lo stesso identificatore del pacchetto.
    • Se questa opzione è abilitata, puoi anche scaricare la build precedente con lo stesso URL.
  • E-mail automatica Collegamento per la distribuzione dell'app
  • Spegnimento automatico del Mac dopo la distribuzione
  • Dimensione massima di caricamento => Uguale allo spazio di archiviazione del tuo account Dropbox
  • Scadenza dell'app caricata => Fino a quando non elimini dal tuo Dropbox
  • Installazioni per app => Illimitato
  • Pannello di controllo*

    * Sarà disponibile nella versione futura


AppBox contro Diawi

Immagine dello schermo

Carica l'IPA

Archivia e carica IPA

Caricamento dell'IPA

Provatelo qui https://github.com/vineetchoudhary/AppBox-iOSAppsWirelessInstallation/releases

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top