2012-12-17 6 views
6

Ich habe kürzlich ein iPhone-Projekt übernommen und ich habe nie zuvor objective-c verwendet.Wiederverwenden eines Platzhalters appId zum Aktivieren von Push-Benachrichtigungen

Ich muss die Anwendung Push-Benachrichtigungen verwenden, aber die erste appId ist bereits live und verwendet einen Platzhalter (also keine Push-Benachrichtigungen).

Ich erstellte eine andere appId mit einem Bezeichner und bekam Push-Benachrichtigungen zu arbeiten. Aber mein Arbeitsplatz möchte, dass ich Benachrichtigungen bekomme, um für die Wildcard-App zu arbeiten (da wir bereits viele Kunden haben, die diese App nutzen).

Also wie kann ich die Platzhalter-App Update machen und einen eindeutigen Bezeichner verwenden, ohne eine neue appId (auch mit der gleichen bundleId) zu erstellen.

Ich bin sehr neu in all dem, so dass ein Schritt-für-Schritt-Prozess sehr geschätzt wird (ELI5).

Als Referenz habe ich Schlüsselbund verwendet, um die private .p12-Datei zu erhalten, und ich verwende das auf einem Windows-Server, der eine Konsolenanwendung ausführt, die Push-Benachrichtigungen generiert (an Apples apns-Server gesendet).

EDIT: Ich habe die folgenden Schritte gemacht, kann mir jemand sagen, was ich vermisse?

1) Erstellen Sie eine neue bundleId (mit der gleichen AppId).

2) Konfigurieren Sie diese AppId für die Verwendung von Push-Benachrichtigungen.

3) Erstellen Sie den CSR im Schlüsselbund.

4) Laden Sie das auf das Portal hoch und erstellen Sie ein Produktionszertifikat.

5) Laden Sie das Zertifikat herunter und exportieren Sie den privaten Schlüssel.

6) Erstellen Sie ein Bereitstellungsprofil mit dem gleichen bundleId wie 1 (z. B. au.com.website).

7) Laden Sie dieses Provisioning-Profil herunter, legen Sie es in x-code und auf meinem iPhone-Gerät ab.

8) In den Einstellungen von Erstellung von x-Code verwenden, um die Bundle-ID und verwenden Sie das Provisioning-Profil I in Schritt erstellt 6.

9) die App Archive, Bereitstellung von Ad-hoc, um die Datei auf den Desktop speichern .

10) Legen Sie diese Datei in TestFlight, laden Sie die App von testFlight auf meinem iPhone.

11) Legen Sie den privaten Schlüssel auf meinem Windows-Server und senden Sie die Push-Benachrichtigungen (sie senden w.o Fehler).

Ich bekomme keine Push-Benachrichtigungen (das iPhone soll sie wiederbeleben).

Noch einmal dies funktioniert mit einer anderen AppId jemand anderen gemacht, damit ich weiß, der Code funktioniert.

Antwort

0

Für Push-Benachrichtigungen ist eine appId erforderlich. Für einen schrittweisen Prozess Verwenden Sie das zweiteilige Tutorial von raywenderlich. Hoffe das wird dir helfen.

7

Verwechseln Sie die App-ID und die Bundle-ID nicht. Die Paket-ID lautet etwa: com.company.appname und wird von der App definiert.

Die App-ID hat ein zusätzliches Präfix (normalerweise das Team-Präfix) und kann Platzhalter enthalten. Die App-Kennung wird verwendet, um die Paket-IDs den Abfrageprofilen zuzuordnen. Ein Profil ist nur für die entsprechende App gültig (mit Ausnahme des Präfix)

Jetzt möchten Sie, dass die Bündel-ID gleich bleibt, denn wenn Sie dies ändern, wird daraus eine neue App. Sie können jedoch bei jeder Aktualisierung das Bereitstellungsprofil und die App-ID ändern.

Ich war in einer ähnlichen Situation vor einer Weile, als ich eine App mit Wildcard-App-ID veröffentlicht hatte und ich ein IAP hinzugefügt.

  • Sie erstellen einfach eine neue (Nicht-Wildcard) App-ID, die der Bundle-ID entspricht.
  • Sie aktivieren die Apple-Dienste (IAP, GC, APNS), die Sie für die App-ID benötigen.
  • Sie erstellen neue prov Profile Ihre Bedürfnisse (App Store, Ad Hoc, Entwicklung) anpassen

Sie dann ein Update für Ihre App mit dem neuen Profil aber unverändert Bündel-ID einreichen können.

Verwandte Themen