Freigeben über


Warum schlägt mein iOS-Build fehl mit: Keine gültigen iPhone-Codesignaturschlüssel in Keychain gefunden?

Ursache des Fehlers

Diese Fehlermeldung wird angezeigt, wenn das entsprechende Projekt nach gültigen Anmeldeinformationen zum Codesignieren sucht, diese aber nicht finden kann. Das Codesignieren ist für Tests und Bereitstellungen auf physischen iOS-Geräten sowie Ad-hoc- und App Store-Builds erforderlich.

Dies kann passieren, wenn Sie aus Visual Studio unter Windows erstellen und versuchen, mit einem Verteilungsprofil und Zertifikat zu erstellen, aber kein Remotegerät oder ein physisches Gerät, das mit dem Mac-Buildhost verbunden ist, ausgewählt als Zielgerät. Wenn Sie über ein lokales Gerät oder ein Gerät verfügen, das mit dem Windows-PC verbunden ist, kann der Build das Verteilungszertifikat auch dann nicht finden, wenn es auf dem Mac installiert ist.

Bereitstellungsgeräte

Wenn Sie noch kein iOS-Gerät bereitgestellt haben, führt Sie der folgende Leitfaden durch den vollständigen Schrittweisen Prozess: Gerätebereitstellungshandbuch

Fehler bei verwendung des iOS Simulators

Hinweis

Dieses Problem wurde in den letzten Versionen von Xamarin für Visual Studio behoben. Melden Sie bitte einen neuen Fehler mit allen Versionsinformationen und der vollständigen Buildprotokollausgabe, wenn das Problem in der aktuellen Version der Software auftreten sollte.

Es gab einen Fehler in Xamarin.Visual Studio 3.11, der dazu führte, dass das iOS-Projekt in einer Xamarin.Forms-Vorlage die codesign Entitlements.plist zu Simulator-Builds hinzufügte; effektives Blockieren von Tests mithilfe des Simulators.

So behebt man den Fehler

Sie können das Problem umgehen, indem Sie das <CodesignEntitlements> Flag aus den Debugbuilds in der CSPROJ-Datei entfernen. Sie können dies wie folgt tun:

Warnung

Fehler in CSPROJ-Dateien können Ihr Projekt unterbrechen, daher ist es ratsam, Ihre Dateien vor dem Versuch zu sichern.

  1. Klicken Sie im Projektmappenbereich mit der rechten Maustaste auf das iOS-Projekt, und wählen Sie "Projekt entladen" aus.
  2. Klicken Sie erneut mit der rechten Maustaste auf das Projekt, und wählen Sie "Bearbeiten [ProjectName].csproj" aus.
  3. Suchen Sie die Debug PropertyGroups, sie sollten mit Flags beginnen, die wie folgt aussehen:
    • Debuggen: <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|iPhoneSimulator' ">
    • Release: <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|iPhoneSimulator' ">
  4. Löschen oder kommentieren Sie in jedem der Builds, die den Simulator verwenden, die folgende Eigenschaft aus: <CodesignEntitlements>Entitlements.plist</CodesignEntitlements>
  5. Laden Sie das Projekt neu, und Sie sollten in der Lage sein, den Simulator bereitzustellen.

Nächste Schritte

Wenn Sie weitere Unterstützung benötigen, kontaktieren Sie uns. Wenn das Problem auch nach Zuhilfenahme der obigen Informationen weiter besteht, lesen Sie die Informationen unter Hilfe zu Visual Studio erhalten. Dort finden Sie alle Kontaktoptionen, Vorschläge und, falls notwendig, Anleitungen zum Erstellen eines neuen Bugs.