2012-05-29 11 views
23

Wir haben uns kürzlich in das iOS Enterprise Developer Program eingeschrieben, um die Inhouse-Distribution nutzen zu können, was die Bereitstellung der Apps in unserem Unternehmen, die ziemlich groß ist, erheblich vereinfacht. Bevor wir uns angemeldet haben, haben wir die Programmdokumentation gründlich durchgelesen und waren uns bewusst, dass das neue Konto vollständig von dem Standardaccount, den wir für die AppStore-Übermittlungen verwenden, getrennt leben wird.iOS Enterprise Developer Program verwalten

Worüber ich mich nicht sicher bin, ist jetzt, wie die zwei Konten in den Entwicklerportalen am besten zu organisieren sind. Ich bin hauptsächlich mit der Bündel-ID beschäftigt, da ich für jede Anwendung mit zwei verschiedenen Paket-IDs innerhalb von Xcode arbeiten werde. Alle unsere Apps verwenden iCloud- und Push-Benachrichtigungen, so dass Wildcard keine Option ist.

Wie organisieren Sie das in Xcode? Erstellen Sie zwei verschiedene Ziele oder können Sie dies mit einer neuen Projektkonfiguration verwalten? Was ist mit iCloud-Berechtigungen?

EDIT

nur als Update wollte ich deutlich machen, dass wir die beste Lösung freuen, eine App für sowohl In-House Verteilung und für App Store Vorlage zu bauen.

EDIT2

Da das Unternehmen Programm, das Sie iTunesConnect Zugang nicht gewähren, wenn Testpersonen und Produkt-IDs eingerichtet werden können, gibt es wirklich keine Möglichkeit, InApp Käufe zu testen?

+0

Sie veröffentlichen also Ihre Apps adhoc UND im Appstore? Oder warum benötigen Sie zwei Bündel-ID? – calimarkus

+0

Nur für die Bündelkennung würden zwei Projekteinstellungen ausreichen. Wie Sie den Plist dort einrichten .. – calimarkus

Antwort

34

Ich weiß nicht genau, was Sie brauchen, aber es klingt so, als wollten Sie Ihre App Store-Apps für den internen Gebrauch in Unternehmen erstellen können. Ist das korrekt?

Wenn Sie Ihre App mit zwei verschiedenen Paket-IDs erstellen möchten, können Sie eine benutzerdefinierte Build-Einstellung erstellen und unterschiedliche Werte für Ihre verschiedenen Konfigurationen angeben.

So zum Beispiel, könnten Sie Ihre Enterprise-Konfiguration erstellen:

enter image description here

Dann wird Ihr Ziel Build-Einstellungen gehen und fügen Sie eine benutzerdefinierte Build-Einstellung:

enter image description here

Give Es ist ein Name wie BUNDLE_ID, und wenn Sie das Dreieck erweitern, können Sie für jede Konfiguration verschiedene Werte angeben:

enter image description here

Als nächstes öffnen Sie Ihre Info.plist-Datei und geben Sie ${BUNDLE_ID} für das Bundle-ID-Wert:

enter image description here

Beim Kompilieren der "Enterprise" Konfiguration verwenden, die Sie tun können, eine mit benutzerdefiniertes Schema (oder über den Befehlszeilen-Build-Prozess, wenn Sie das verwenden), wird die entsprechende Bundle-ID verwendet.

Sie können auch die Codesignatur/provisiong Profileinstellung auf die gleiche Weise konfiguriert werden:

enter image description here

Sobald Sie dies tun, die richtige Push-Benachrichtigung/iCloud Ansprüche werden in Abhängigkeit von der Konfiguration verwendet werden.

Das machen wir schon lange. Unser Build-Server wird für jeden Build Enterprise- und App-Store-Versionen unserer Apps generieren, wobei genau diese Technik verwendet wird.

Wenn es um die Bereitstellung Portal kommt, müssen Sie beide App-IDs konfigurieren separat für Push-Benachrichtigungen, iCloud etc.

Dies bedeutet, dass Push-Benachrichtigungen separat im App Store und Enterprise-Versionen gesendet werden müssen da sie nicht dieselbe Paket-ID oder dasselbe Push-Benachrichtigungszertifikat teilen.

Der iCloud-Speicher ist standardmäßig für die beiden Versionen völlig getrennt. Sie können möglicherweise auf denselben iCloud-Store zugreifen (wenn Sie dies benötigen), solange die Berechtigungen mit derselben Team-ID eingerichtet sind. Dies kann jedoch ein Problem sein, wenn Sie über zwei separate Entwicklerkonten verfügen.