Tests und Bereitstellung für Xamarin.iOS: Problembehandlung
Hinzufügen von Codesignaturen und Bereitstellen von Code
Das Hinzufügen von Codesignaturen und Bereitstellen von Code mit iOS kann mühsam sein. Es ist daher wichtig, sicherzustellen, dass Codesignaturzertifikate und Bereitstellungsprofile richtig konfiguriert sind.
Große Entwicklerteams sollten nicht die im Folgenden dargestellte Schaltfläche „Fix issue“ (Problem beheben) in Xcode verwenden:
Über diese Schaltfläche werden neue Bereitstellungsprofile und Zertifikate erstellt. Bestenfalls wird immer dann ein Bereitstellungsprofil erstellt, wenn ein Teammitglied auf die Schaltfläche klickt, was lediglich zu einer unübersichtlichen Verwaltung von Profilen führt. Im schlimmsten Fall werden jedoch die Zertifikate aller Personen im Unternehmen widerrufen, sodass deren Apps nicht mehr funktionieren.
Behalten Sie beim Keychain-Zugriff den Überblick, und löschen Sie abgelaufene Zertifikate und Profile. Enterprise-Zertifikate sind drei Jahre lang gültig, während andere Zertifikate bereits nach einem Jahr ablaufen. Zertifikate können nicht erneuert werden. Es müssen daher kurz vor Ablauf der alten Zertifikate neue erstellt werden. Achten Sie darauf, alte Zertifikate zu widerrufen und zu löschen und Apps mit neuen Zertifikaten erneut zu signieren.
Entfernen Sie beim Installieren der neuen Bereitstellungsprofile die alten Profile. Dies bedeutet, dass Visual Studio für Mac nicht entscheiden muss, welches Profil verwendet werden soll. Um dies zu erreichen, stellen Sie zuerst sicher, dass Sie das Profil im Apple Developer Center löschen, und navigieren Sie dann zu Den Einstellungen > Für Ihre Kontoansicht > Details.... Wählen Sie das Bereitstellungsprofil aus, und klicken Sie auf " In Finder anzeigen". Dadurch wird der Speicherort des Profils im Mac-Dateisystem angezeigt. Anschließend kann es mit dem Finder gelöscht werden.
Stellen Sie sicher, dass alle erforderlichen Zertifikate und die zugehörigen privaten Schlüssel verfügbar sind. Jedes Team benötigt ein Entwicklerzertifikat zur Installation von Apps auf eigenen Geräten und ein Verteilungszertifikat zur Installation auf anderen Geräten.
Starten Sie Xcode und Visual Studio für Mac/Visual Studio neu, wenn ein neues Bereitstellungsprofil oder Zertifikat installiert wird.
TestFlight
In manchen Fällen verlaufen Tests nicht problemlos. Mit den folgenden Schritten können Sie Probleme im Zusammenhang mit TestFlight lösen:
TestFlight ist nur für Apps für iOS 8 und höher verfügbar.
Es muss ein App Store-Verteilungsprofil mit Betaberechtigung vorliegen.
Im Fenster New iOS App submission (Neue iOS-App-Einsendung) müssen die gleichen Informationen wie in der Datei Info.plist enthalten sein. Außerdem müssen alle Abschnitte ausgefüllt werden. Vor dem Upload auf TestFlight müssen für die App Symbole festgelegt werden.
Der Upload eines neuen Builds dauert ca. ein bis fünf Minuten. Anschließend wird der Build in iTunes Connect angezeigt.
Die Option TestFlight Beta Test (TestFlight-Betatest) muss für jede Version der Anwendung mit dem Schalter aktiviert werden.
Jedes Mitglied des Entwicklerteams, das gleichzeitig interner Tester ist, muss die Option Internal Test (Interner Tester) mit dem Schalter aktivieren.
Benutzer, die einem iTunes Connect-Konto zugeordnet sind oder ein anderes iTunes Connect-Konto besitzen, können nicht interne Tester sein. Diese Benutzer können nur als externe Tester hinzugefügt werden.
Das Hinzufügen, Auswählen und Einladen von internen und externen Benutzern erfolgt durch unterschiedliche Schritte. Jede Liste muss separat verwaltet werden.
Apple muss jeden Build genehmigen, der an externe Tester verteilt werden soll. Wenn sich die Version eines Builds ändert, ist ein neuer Betareview durch Apple erforderlich. Wenn sich die Buildnummer ändert, ist der Review optional.
Builds, die an externe Tester verteilt werden, müssen mit Metadaten ergänzt werden. Auf diese Kann zugegriffen werden, indem Sie auf die Buildnummer in Meine Apps > Vorabversion klicken.
Pro Tag können höchstens zwei Builds für einen Review eingereicht werden. Da eine Versionsänderung einen Review erzwingt, können Versionsnummern maximal zweimal pro Tag geändert werden.
Automatisches Zurückkopieren von App Bundles nach Windows
Beim Erstellen von iOS-Apps in Visual Studio und im Mac Build-Agent wird das APP-Bündel nicht zurück auf den Windows-Computer kopiert. Xamarin Tools für Visual Studio 7.4 führt die neue Eigenschaft CopyAppBundle
ein, mit der CI-Builds APP-Bündel zurück auf Windows kopieren können.
Um diese Funktion nutzen zu können, fügen Sie die CopyAppBundle
-Eigenschaft der CSPROJ-Datei unter der Eigenschaftengruppe hinzu, auf die diese Funktion angewendet werden soll. In folgendem Beispiel wird veranschaulicht, wie Sie ein APP-Bündel für einen Debugbuild, der iPhoneSimulator als Ziel verwendet, zurück auf einen Windows-Computer kopieren:
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|iPhoneSimulator' ">
<CopyAppBundle>true</CopyAppBundle>
</PropertyGroup>