2012-05-29 18 views
23

Recentemente ci siamo iscritti al programma iOS Enterprise Developer per poter utilizzare la distribuzione interna, che semplifica in modo significativo l'implementazione delle app all'interno della nostra azienda, che è abbastanza grande. Prima di unirsi abbiamo letto attentamente la documentazione del programma e eravamo consapevoli che il nuovo account sarebbe completamente separato dall'account standard che usiamo per le presentazioni di AppStore.Gestisci programma iOS Enterprise Developer

Ciò di cui non sono sicuro ora è quale sarebbe il modo migliore per organizzare i due account nei portali degli sviluppatori. Mi preoccupo principalmente dell'identificatore del bundle dato che avrò a che fare con due diversi ID di bundle all'interno di Xcode per ogni applicazione. Tutte le nostre app utilizzano le notifiche di iCloud e Push, quindi il jolly non è un'opzione.

Come organizzi questo all'interno di Xcode? Crei due target diversi o sei in grado di gestirlo con una nuova configurazione di progetto? Che dire dei diritti iCloud?

EDIT

Proprio come un aggiornamento ho voluto mettere in chiaro che stiamo cercando la soluzione migliore per costruire un app sia per In-House di distribuzione e per AppStore sottomissione.

EDIT2

dato che il programma di impresa non concede di accedere a iTunesConnect, in cui gli utenti di prova e gli ID di prodotto può essere configurato, c'è davvero nessun modo per testare gli acquisti InApp?

+0

Quindi stai pubblicando le tue app ad hoc E nell'appstore? O perché è necessario utilizzare due identificatori di bundle? – calimarkus

+0

Solo per l'identificatore del bundle, due impostazioni del progetto sarebbero sufficienti. Come si imposta il plist lì .. – calimarkus

risposta

34

Non sono del tutto chiaro su quello che ti serve, ma sembra che tu voglia essere in grado di costruire le tue app store per uso aziendale interno. È corretto?

Se si desidera essere in grado di creare l'app con due ID bundle diversi, è possibile creare un'impostazione di generazione personalizzata e assegnare valori diversi per le diverse configurazioni.

Così, per esempio, è possibile creare la configurazione di Enterprise:

enter image description here

Poi vai a impostazioni di generazione del vostro bersaglio e aggiungere un ambiente di compilazione definita dall'utente:

enter image description here

Dare è un nome come BUNDLE_ID e se si espande il triangolo è possibile assegnargli valori diversi per ciascuna configurazione:

enter image description here

Quindi, aprire il file Info.plist e inserire ${BUNDLE_ID} per il valore fascio ID:

enter image description here

Quando si compila utilizzando la configurazione "Enterprise", che si può fare utilizzando un schema personalizzato (o tramite il processo di compilazione della riga di comando se questo è quello che usi), verrà utilizzato l'id del bundle appropriato.

È anche possibile configurare la firma del codice/provisiong impostazione del profilo nello stesso modo:

enter image description here

Una volta fatto questo, la notifica push corretta/diritti di iCloud sarà utilizzato a seconda della configurazione.

Abbiamo fatto questo genere di cose da molto tempo ormai. Il nostro server di generazione genererà versioni enterprise e app store delle nostre app per ogni build, utilizzando esattamente questa tecnica.

Quando si tratta di portale di provisioning, è necessario configurare entrambi ID applicazione separatamente per le notifiche push, icloud, ecc

Ciò significa che le notifiche push devono essere inviati separatamente ad App Store e le versioni enterprise poiché non condivideranno lo stesso ID bundle o il certificato di notifica push.

La memoria di iCloud per impostazione predefinita sarà completamente separata per le due versioni. Possono essere in grado di accedere allo stesso negozio iCloud (se necessario) purché le autorizzazioni siano impostate con lo stesso ID team. Ma questo potrebbe essere un problema se hai due account per sviluppatori separati.

Problemi correlati