Frage

Ich habe einen Ad -hoc -Build meiner App erstellt und möchte, dass eine andere Person sie installiert. Ich habe ihre Geräte -ID (zwei tatsächlich) im Bereitstellungsprofil. Mein Zertifikat ist für Ad -hoc- und App Store -Bereitstellung gleich. Das Zertifikat ist in Schlüsselbund gültig. Ich habe das Ad -hoc -Profil in Xcode für diesen Build ausgewählt, das mit dem Verteilungszertifikat verknüpft ist.

Ich sende dem Benutzer die Bereitstellungsdatei und die .App -Datei. Sie fallen sowohl in iTunes als auch synchronisiert und erhalten diesen Fehler auf beiden Geräten:

The application "myapp" was not installed on the iPhone "user's iPhone" because the signer is not valid.

Ich habe alle Profile von meinem iPhone entfernt, die oben genannten Dateien in iTunes fallen gelassen, die App erfolgreich synchronisiert und installiert. Ich kann es nicht dazu bringen, für mich zu reagieren. Ich muss dieses Problem lokal vorstellen, um das Problem herauszufinden. Irgendwelche Ideen, wie das getan werden kann?

War es hilfreich?

Lösung

Haben Sie Ansprüche hinzugefügt? Setzen Sie die Unterzeichnung auf die Zielebene und nicht auf die Projektebene? Wählen Sie das Ad -hoc -Profil aus? Vor dem Build eine sauber machen? Wählen Sie das Ad -hoc -Gerät für den Build aus?

Die beste Wette ist, die Dokumentation von Apple zu folgen exakt, Lassen Sie Ihre Build -Einstellungen zu exakt passen Sie Apple an.

Andere Tipps

Es ist eine gute Idee, die in der .APP -Datei eingebundene MobileProvision -Datei zu überprüfen, um sicherzustellen, dass sich die UID befindet. Machen Sie einfach Folgendes:

  1. Unzip problemapp.ipa
  2. CD -Nutzlast/problemapp.app
  3. pico imbedded.mobileProvision

Suchen Sie nach der UID Ihres Geräts in dieser Datei. Wenn es nicht da ist, wird es wahrscheinlich nicht zur Bereitstellungsdatei innerhalb des Portals hinzugefügt.

Aus den Dokumenten:

Das Erstellen einer App für die Ad -hoc -Verteilung ähnelt dem Erstellen einer App für den App Store -Vertrieb mit Ausnahme von zwei zusätzlichen Schritten. Zunächst müssen Sie ein Ad -hoc -Vertriebsprofil erstellen und die UDIDs der iOS -Geräte hinzufügen, die Sie für die Verwendung des iPhone Developer Program Provisioning -Portals verteilen möchten. Zweitens müssen Sie eine Code-Signing-Berechtigungsdatei erstellen. Informationen zum Erstellen einer Berechtigungsdatei finden Sie im Abschnitt "Antragsberechtigung" des iOS -Entwicklungshandbuchs.


Verwaltung von Anwendungsberechtigungen

IOS bietet Zugang zu speziellen Ressourcen und Funktionen - wie in der Frage, ob Ihre Anwendung debuggiert werden kann - durch Eigenschaften, die als Berechtigungen bezeichnet werden. Um Informationen in Ihrer Anwendung anzugeben, fügen Sie Ihrem Projekt eine Berechtigungs-Eigenschaft-List-Datei hinzu, die Berechtigungsdefinitionen (Schlüssel-/Wertpaare) enthält. Wenn Sie Ihre Anwendung erstellen, kopiert Xcode die Datei in das generierte Anwendungsbündel.

So fügen Sie Ihrem Projekt eine Berechtigungs-Eigenschaft-List-Datei hinzu:

Wählen Sie in der Liste der Gruppen und Dateien die Ressourcengruppe aus. Wählen Sie Datei> Neue Datei. Wählen Sie die Vorlage iOS> Codesignierung> Berechtigungen. Nennen Sie die Datei berechtigt.plist. (Sie können einen beliebigen Namen verwenden. Stellen Sie einfach sicher, dass er mit dem Wert der Code-Signierberechtigungsaufstellung übereinstimmt, wie später in diesem Abschnitt erläutert.) Setzen Sie den Typ der Eigenschaftslisten-Datei auf iPhone-Berechtigungen. Wählen Sie mit der im Texteditor ausgewählten Datei die Ansicht> Eigenschaftslisten -Typ> iPhone -Berechtigungsdatum.

Fügen Sie Ihre Berechtigungseinträge zur Datei hinzu. Für jede Berechtigungseigenschaft müssen Sie definieren:

Klicken Sie auf das Kind hinzufügen oder Geschwistertasten rechts neben der ausgewählten Zeile. Die Taste für Kinder hinzufügen hat drei Zeilen mit einer Hierarchie. Die Schaltfläche Geschwister hinzufügen hat ein Plus -Zeichen (+). Wählen Sie die Eigenschaft zur Berechtigung aus dem angezeigten Popup-Menü. Wenn der Anspruch, den Sie hinzufügen müssen, im Menü nicht angezeigt werden müssen, wählen Sie Ansicht> Eigenschaftslisten -Typ> Standard für den Dateityp. Geben Sie dann den Namen und Typ berechtigt.

Geben Sie den Wert für die Eigenschaft ein. Legen Sie die Einstellung zur Erstellung von Codesignierungen für das Ziel auf den Namen der neu hinzugefügten Berechtigungslisten-Datei fest.


Sobald Sie Ihre Berechtigungsdatei erstellt und zu Ihrem Code-Signierung der Berechtigungsaufstellung hinzugefügt haben, öffnen Sie die Berechtigungsdatei und fügen Sie den Get-Task-Taste hinzu oder bearbeiten Sie sie auf false.

Zusätzlich zum Komprimieren Ihres .App -Bundle, um Ihr Ad -hoc -Build an Tester usw. zu verteilen, wird empfohlen, das Bereitstellungsprofil vor dem Vertrieb auch zu komprimieren, da bestimmte E -Mail -Clients und Server das Bereitstellungsprofil möglicherweise beschädigen.

Informationen zur Ad -hoc -Verteilung von Ad -hoc finden Sie im Abschnitt mit dem Test für den Test im iOS -Entwicklungshandbuch.

Ich habe dieses Problem kürzlich mit einem Tester bei einem kürzlichen Build auf dieses Problem gestoßen. Es stellte sich heraus, dass mein Tester seinen iPod Touch zurücksetzte und das Bereitstellungsprofil im Prozess entfernt hatte.

Nur etwas zu beachten.

Ich habe diesen Fehler bekommen, indem ich etwas dümmer habe, als jeder andere veröffentlicht hat. Ich habe dem Profil neue Geräte hinzugefügt, aber vergessen, die aktualisierte Version herunterzuladen, sie zu Xcode hinzuzufügen und das Projekt darauf zu richten. Wenn ich es richtig eingerichtet habe, konnten die Tester die App gut installieren.

Hier ist ein weiterer Spaß. Wenn Sie separate Berechtigungsdateien für iPhone und iPad haben, stellen Sie sicher Error

Ich kam hier an, weil ich das gleiche Problem wie das OP hatte. Es stellte sich in der Tat heraus, dass ich die UDID in der Berechtigungsdatei nicht hatte, obwohl ich sicher bin, dass ich im Xcode -Organizer aktualisiert habe. Eine weitere Aktualisierung machte keinen Unterschied.

Am Ende habe ich alle Bereitstellungsprofile entfernt und dann Hat eine Erfrischung gemacht. Die Dinge funktionieren jetzt.

Ich habe keine Ahnung, ob dies ein Fehler in meinem Setup oder ein Bedienerfehler ist. Aber nur für den Fall, dass sich jemand in dieser Situation befindet: Es kann sich bezahlen, Ihre Bereitstellungsprofile zu entfernen und dann eine Aktualisierung zu machen.

Dies würde für mich nicht funktionieren, wenn ein iPhone 3G iOS 3.1.3 ausgeführt wird. Ich habe überprüft, ob das Verteilungsprofil nicht auf Einstellungen (> allgemein) nicht auf dem Telefon war (es wurde keine Profiloption aufgeführt).

Ich habe dann das iPhone -Konfigurationsdienstprogramm installiert:

http://support.apple.com/kb/dl851

Dann:

  1. Führen Sie die iPhone -Konfiguration aus
  2. Drag & Drop eingebettete.mobileProvision -Datei zur App
  3. Klicken Sie auf der linken Seite auf das Gerät
  4. Klicken Sie auf "Bereitstellungsprofile" -Tabulatik
  5. Klicken Sie auf das Profil und klicken Sie dann auf die Schaltfläche "Installieren"

Dann wurde die App gut installiert.

Ich hatte auch das gleiche Problem wie das OP. Dummer Fehler: Ich habe versehentlich die letzten zwei Ziffern vom Gerät abgelegt, auf das ich versuchte, mich als Gerät zu verteilt, auf das ich mich verteilt habe.

Ich habe das gleiche Problem zweimal ( xcode 4.2 ios 5)

1. Zeit, ich habe vergessen, ARMV6 in Architektur hinzuzufügen

2. Die Zeit, die ich für viele Bereitstellungsdateien mit derselben Entwickler-ID erstellt habe, die ich andere Schlüsselkette entsprechend der Verwendung von Bundle-Kennung löschen sollte ... und ich habe fälschlicherweise gültige und verwendete andere Kechain verwendet

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top