2012-02-14 9 views
11

Lo scenario: ho creato un'applicazione. Ai clienti piace, ma uno di loro vuole che l'app sia personalizzata. L'idea è che eseguo la personalizzazione, costruisca l'applicazione e poi la dia a lui e si occuperà di tutto il business dell'App Store.È possibile consentire a qualcun altro di caricare e distribuire la mia app nell'App Store di Apple?

Non voglio dare le fonti. È possibile creare un pacchetto non firmato e lasciare che il cliente lo carichi tramite il suo account? Ovviamente dovrà impostare un account sviluppatore e tutto il resto.

Non ho idea di come funzionerebbe. Se creo una build di distribuzione, viene utilizzato il mio certificato di distribuzione. Sarebbe un'opzione che ottenga il certificato dei clienti e ne usi quello da costruire e poi gli riceva l'IPA?

MODIFICA: Testflight NON è un'opzione per me. Non voglio mantenere centinaia di UDID. E sarebbe un chiaro abuso delle regole di Apple relative all'uso dei dispositivi gratuiti. Sono pensati per TEST e non per uso commerciale. Quindi sono davvero alla ricerca di qualcosa che permetta a una terza persona di portare un file binario che ho creato nell'App Store, sotto la responsabilità di quella persona.

+4

Sto votando per chiudere questa domanda in quanto fuori tema, perché [non siamo supporto ai clienti per la tua azienda preferito] (// meta.stackoverflow.com/questions/255745 /). – gunr2171

risposta

10

Mi sono chiesto la stessa cosa su questo scenario. Ho lavorato con i clienti per creare le loro app, ma ho anche fatto ballare iTunes Connect per loro con i loro account iTunes. Vale a dire, mi hanno dato l'accesso per poter accedere come loro agente.

Ma, penso che ci potrebbe essere un modo per fare quello che vuoi ...

Il vostro cliente chiaramente necessario creare una (azienda) conto Developer. Possono quindi aggiungerti come membro del team e puoi richiedere un certificato per te per quel team. Dovranno approvarlo attraverso il portale di provisioning. Con quel certificato e i profili di provisioning appropriati creati con il certificato, dovresti essere in grado di creare e firmare l'app.

Ora, ecco la parte che non sono sicuro funzionerà, ma vale la pena provare. Fornisci loro l'IPA che è stato costruito con un profilo di distribuzione e che è stato firmato con il certificato che hai ottenuto come membro del loro team. Quindi il loro agente dovrebbe (potrebbe?) Essere in grado di caricare l'IPA usando qualcosa come Application Loader. L'IPA dovrebbe essere perfettamente valido, essendo stato costruito e firmato con le risorse generate dal portale di provisioning del cliente ... Credo.

Non riesco a immaginare che SOLO l'agente possa creare un'app per l'invio. Solo l'agente può presentare, ma devo credere che chiunque nel team possa produrre un IPA appropriato.

Ancora, questa è teoria (almeno per me), e non l'ho ancora provata. Ma sembra avere un senso per me ...

+0

È corretto quello che dici. In effetti, il principio è che lo sviluppatore (amministratore o ruolo di sviluppatore) può compilare e firmare correttamente l'app ma non sarà in grado di inviarlo al negozio. Questa operazione è limitata all'agente ed è facile per Apple controllarla: considera infatti gli unici due modi in cui devi eseguire il caricamento finale: usa Application Loader o Xcode. In entrambi i casi è richiesto il login del membro iOS. L'intero meccanismo ha un senso. – viggio24

+0

Come si firma una build con un "profilo di distribuzione" senza il "certificato di distribuzione"? Perché solo tu puoi avere uno di questi e solo il "team agent" può crearlo così ... torna allo stato 1 :( –

+0

@GojaN Penso che lo stato del mondo sia cambiato dal 2012 in merito a questo. app per un cliente senza accedere a iTunes Connect come loro agente. Ho effettuato l'accesso come membro del team del proprio account e il mio account membro del team ha accesso amministratore su quel team. Sono stato in grado di creare, firmare, caricare e inviare un binario per loro.Quindi, questa è una buona notizia! –

-1

Assolutamente!

Tutto quello che dovete fare è distribuire utilizzando TestFlight

volo di prova può essere utilizzato come una distribuzione ad hoc per il test. È attualmente utilizzato da molti studi in questo modo.

Ha del suo pro e contro:

-Pro:

  • a costruire l'applicazione, caricare per testare volo, selezionare gli "utenti finali" e questo è tutto. Lo scaricano direttamente sul proprio dispositivo iOS.
  • Facile da configurare tester, offre un feedback sull'utilizzo ecc ecc
  • Quando si invita un tester ti dà automaticamente la loro UDID da aggiungere al profilo di provisioning
  • Ogni volta che si aggiorna lo comunica a tutti gli utenti. Un po 'come l'App Store ma via e-mail
  • È possibile gestire build separati allo stesso tempo. Quindi è possibile inviare determinate build a determinati gruppi ecc. Ecc.
  • CARICHI DI SUPPORTO
  • Non è necessario passare attraverso l'app store.

-Contro:

  • manutenzione pesante. Se aggiungi un nuovo utente, devi reinserire la tua app con l'utente nel profilo di distribuzione. Caricare. Quindi è meglio aggiungerlo in gruppi.
  • Si è costretti a 100 utenti alla volta (limitazione del provisioning del dispositivo da parte di apple)
  • È necessario assicurarsi che tutti firmino una NDA poiché l'aggiunta al provisioning del dispositivo potrebbe consentire l'accesso al software di pre-release se sono abbastanza esperto.

Conosco e ho lavorato per diverse società che utilizzano il volo di prova per aggirare l'App Store in questo modo. Si dovrebbe cercare

+0

pro: è gratuito –

+0

In questo caso non è affatto un'opzione. Vedi la mia domanda modificata. Si tratta di un progetto commerciale. Testflight è pensato per i test e Apple è molto chiara su questo: se si abusa dei dispositivi gratuiti il ​​proprio account sviluppatore potrebbe essere bloccato. La licenza entperprise non aiuta neanche perché consente la distribuzione all'interno dell'azienda. – Krumelur

+0

Rivedere la domanda modificata, infatti, non sarebbe un'opzione. Sono semplicemente andato in base alle informazioni che volevi semplicemente implementare un'app senza dover gestire il business dell'app store. – rinzler

3

Il cliente deve creare un account sviluppatore "azienda/organizzazione", anziché individuale. Sarà l'agente del suo team di sviluppo, mentre sarà necessario ottenere da lui l'accesso "admin" o "developer". Con l'accesso amministratore potrai creare tutti i certificati necessari e costruire e firmare correttamente l'app; lo sviluppatore ti dà poteri simili ma dipende dall'amministratore o dall'agente per convalidare le richieste di certificato. L'agente, che è il tuo cliente, sarà l'unica persona idonea ad inviare l'app al negozio. Quindi questo è esattamente ciò di cui hai bisogno.

Considera che è ancora possibile inviare l'app per il cliente nel caso in cui il suo account sia "individuale". Ma in questo caso avrà bisogno di darti tutte le credenziali di accesso e questo potrebbe richiedere la massima fiducia reciproca (che a volte non è possibile!).

2

Una soluzione molto semplice che elude la seccatura di rassegnare un IPA è di costruire l'intera app come una libreria statica.

Per il cliente si crea un progetto di involucro sottile che crea solo l'eseguibile finale dalla libreria statica e aggiunge elementi e risorse Info.plist. Questo progetto non contiene il codice sorgente ma può essere utilizzato per creare un'app caricabile utilizzando "Crea e archivia".

+0

Questa sarebbe un'opzione per i progetti futuri perché non ho il tempo di cambiare tutto in una lib ora. Ma un'idea davvero originale! – Krumelur

0

Se non si desidera condividere il codice sorgente, il client dovrà condividere il profilo di distribuzione, il certificato di distribuzione e la chiave privata associata. Dovrai quindi installarli sul tuo computer, creare una versione di distribuzione dell'app firmata usando il loro certificato e dare loro il file .ipa. Possono quindi caricare l'app su iTunesConnect.

Francamente, tuttavia, sarebbe probabilmente più facile se si carica l'app su iTunesConnect dopo aver eseguito tutta la preparazione.È molto semplice inviare un'app direttamente dalla finestra Organizer in Xcode, così da poter essere eseguita in questo modo, a meno che non ci sia un motivo per non farlo.

Non sono sicuro di quanto bene rientri nella lettera dell'accordo degli sviluppatori Apple. Penso che ci potrebbe essere ancora una linea o due in là che dice che un agente di squadra non dovrebbe condividere la loro chiave privata. Tuttavia, credo che sia pratica molto comune nel settore.

0

SÌ! Ora abbiamo la possibilità di inviare le app all'App Store senza dover effettuare il login come agente del team! Apple ha fornito un mezzo per creare account appositamente per questo scopo. In breve, fai in modo che l'agente del team si colleghi a iTunes Connect, quindi aggiungi l'utente. Il ruolo "tecnico" dovrebbe essere sufficiente.

Here sono le istruzioni dettagliate da parte di Apple:

+2

Questo link è cattivo! –

+0

Penso che questo sia il link giusto: https://developer.apple.com/library/prerelease/watchos/documentazione/IDE/concettuale/AppDistributionGuide/UsingiTunesConnect/UsingiTunesConnect.html # // apple_ref/doc/uid/TP40012582-CH22-SW3 – user1279887

Problemi correlati