2016-07-08 7 views
-1

ich zunächst beide WatchOS 1 und WatchOS 2. unterstützen entschieden, mein Bündel-IDs für die Uhren Ziele werden wie folgt erstellt:iOS WatchKit - Anforderungen App-ID Widersprüchliche für WatchKit Erweiterung während App laden

WatchKit App: com.company.myapp.watchkitapp

WatchKit Erweiterung: com.company.myapp.watchkitextension

mit dieser Einrichtung nicht Build mit der folgenden Fehlermeldung: enter image description here

Also änderte es das Bundle-IDs zu folgendem Format, so dass Bundle-ID der Erweiterung mit watchkit App Bundle-ID vorangestellt ist:

WatchKit App: com.company.myapp.watchkitapp

WatchKit Erweiterung: com.company.myapp.watchkitapp.watchkitextension

Build erfolgreich. Ich dann versuchen, die Build Testflug in der Vorbereitung für die Freigabe zu laden, aber während des Upload-Vorgangs bekam ich folgende Fehlermeldung: enter image description here

Die Fehlermeldung ist klar: Ich habe zwei Perioden nach der Bundle-ID der Anwendung.

Das ist sehr verwirrend für mich. Wie ist es möglich, dass der Bundle-ID meiner Erweiterung die Bundle-ID der Watchkit-App vorangestellt wird und nur eine Periode nach der Bundle-ID der übergeordneten App enthalten ist? Das Präfix hat diese Periode bereits verwendet. Wie kann ich diese beiden widersprüchlichen Anforderungen gleichzeitig erfüllen?

Dinge, die ich habe bereits versucht, aber nicht funktioniert:

  1. von Grund auf neu starten, brandneue App-IDs Erstellen und Provisioning-Profile; Löschen aller alten Bereitstellungsprofile aus dem lokalen Verzeichnis, erneutes Herunterladen und Festlegen der korrekten Codesignierungs- und Bereitstellungsprofile in den Zielerstellungseinstellungen in Xcode.

  2. Ändern des Namens der App-ID auf das Format "XC com company myapp" im Mitgliedercenter.

  3. Beenden & Neustart & sauber & wieder aufzubauen.

Antwort

0

Öffnung Xcode Preferences ( + ,), geht auf Konten → Details. Wählen Sie dann alle Bereitstellungsprofile aus und löschen Sie sie mit der Rücktaste (Hinweis: Sie können in Xcode 7.x nicht entfernt werden). Starten Sie Xcode neu, sonst scheint die Liste nicht korrekt zu aktualisieren.

Klicken Sie nun auf die Schaltfläche Alle herunterladen, und Sie sollten alle Bereitstellungsprofile, die Sie im Mitgliedercenter definiert haben, wieder in Xcode haben. Mach dir keine Sorgen über die Xcode-generierten (XC :), Xcode wird sie bei Bedarf neu generieren. Starten Sie Xcode erneut.

Gehen Sie jetzt zu den Code Signing Abschnitt in Ihren Build-Einstellungen und wählen Sie das richtige Profil und Cert.

for more

+0

Ich habe diese Schritte bereits durchgeführt; App wurde immer auf Dev-Profilen und Release-Profilen erstellt und läuft gut, wenn ich die Bundle-ID "com.company.myapp.watchkitapp.watchkitextension" für die Watchkit-Erweiterung verwende, aber die Übermittlung fehlschlägt mit dem Fehler "Bundle-ID darf nicht mehr als einen Punkt enthalten nach der App-ID ". Wenn ich "com.company.myapp.watchkitextension" verwende, wird der Build mit dem Fehler "Embedded bundle identifier wird nicht mit der Bundle-ID der übergeordneten App" vorangestellt. Ich weiß genau, wie Provisioning funktioniert ... die kurze Frage ist einfach "Was sollte die Bundle-ID für eine Watchkit-Erweiterung sein" – SeaJelly

+0

yourmobileappBundleId.watchkitextension also, wenn Ihre Mobile App Bundle-ID ist "com.company.myapp" dann Ihre Watchkit-Erweiterung ID sollte wie 'com.company.myapp.watchkitextension' sein –

+0

Das wird mir den ersten Fehler geben, der in der Post erwähnt wird; die Bundle-ID der WatchKit-App muss das Präfix der Bundle-ID der WatchKit-App-Erweiterung sein. So "com.company.myapp.watchkitextension" gibt Fehler, aber "com.company.myapp.watchkitapp.watchkitextension" ist in Ordnung. – SeaJelly

Verwandte Themen