Ich habe seit mehr als 5 Jahren eine Anwendung ohne Probleme aktualisiert, bis gestern.
Ich habe mein iPad auf iOS 12 aktualisiert, aber jedes Mal, wenn ich versuche, es auszuführen, wurde die Meldung angezeigt:
das iPad hat die Startanforderung abgelehnt
Ich habe auf anderen physischen Geräten mit iOS 11 und Simulatoren getestet, und dieser Fehler tritt nur bei Geräten mit iOS 12 auf.
Was habe ich versucht, das zu lösen?
Und auch jede Lösung dieses Threads: Xcode 9 Fehler: "Das iPhone hat die Startanforderung abgelehnt"
Und nachdem Sie jede dieser Alternativen ausprobiert haben, bleibt das Problem nur bei den Geräten WITH iOS 12 bestehen.
Hat jemand eine Idee, wie man das lösen kann?
UPDATE Ich habe meine App debuggt, und dies ist das gesamte Protokoll:
predeterminado 10:33:00.516648 -0600 trustd cert[0]: MissingIntermediate =(leaf)[force]> 0
predeterminado 10:33:00.516722 -0600 trustd cert[0]: NonEmptySubject =(path)[]> 0
predeterminado 10:33:00.521320 -0600 SpringBoard [com.mycompany.myapp] Generating image data for snapshot: <XBApplicationSnapshot: 0x1115c11f0; identifier: 5E831360-7FEE-4255-A6FB-08712EF1D226; launchInterfaceIdentifier: __from_UILaunchStoryboardName__; contentType: GeneratedDefault> {
creationDate = 20 de septiembre de 2018, 10:33:00 a. m. GMT-6;
keepsImageAccessUntilExpiration = NO;
hasGenerationContext = NO;
context = {
contentType = GeneratedDefault;
fullScreen = YES;
referenceSize = {1024, 1366};
interfaceOrientation = LandscapeLeft;
additionalContext = {
statusBarSettings = <XBStatusBarSettings: 0x282f43d00; hidden: NO; style: 0x0; backgroundActivityEnabled: NO>;
}
}
imageContext = {
scale = 2.0;
opaque = YES;
fileRelativeLocation = none;
}
}
predeterminado 10:33:00.585893 -0600 SpringBoard com.mycompany.myapp:10:11:3:1:Application replaced
predeterminado 10:33:00.592674 -0600 SpringBoard [com.mycompany.myapp] Application installed using default data provider
predeterminado 10:33:00.638304 -0600 dasd com.Apple.CFNetwork-cc-87-19005-Task <6A4245D9-BABF-4974-899B-B744DCB219AE>.<com.Apple.cloudkit.cloudd>.<route=usmia-Edge.icloud-content.com:outOfProcess=T:allowExpensive=T:powerNap=F:adaptive=T:app=com.Apple.mobileslideshow:2app=com.Apple.mobileslideshow.PhotosMessagesApp:disc=T:retry=F:pool=com.Apple.cloudkit.BackgroundConnectionPool:uuid:C3F50637-0E71-4FCD-A8B5-DB01E2F3D518>.<1>:9D4C2B:[
{name: ApplicationPolicy, policyWeight: 5.000, response: {Decision: Can Proceed, Score: 0.31}}
{name: DeviceActivityPolicy, policyWeight: 10.000, response: {Decision: Can Proceed, Score: 0.60}}
] sumScores:58.471249, denominator:65.910000, FinalDecision: Can Proceed FinalScore: 0.887138}
predeterminado 10:33:00.662238 -0600 SpringBoard [com.mycompany.myapp] Snapshot data for <XBApplicationSnapshot: 0x1115c11f0; …08712EF1D226> written to file: /private/var/mobile/Containers/Data/Application/1DB50DD3-CF52-4498-854F-C0939D28ECC0/Library/Caches/Snapshots/com.mycompany.myapp/[email protected]
predeterminado 10:33:00.666489 -0600 trustd cert[0]: MissingIntermediate =(leaf)[force]> 0
predeterminado 10:33:00.687764 -0600 TVRemoteConnectionService XPC: Recieved an application registered LaunchEvent
predeterminado 10:33:00.909692 -0600 trustd cert[0]: MissingIntermediate =(leaf)[force]> 0
predeterminado 10:33:00.910738 -0600 trustd cert[0]: SubjectCommonName =(leaf)[]> 0
predeterminado 10:33:00.910872 -0600 trustd cert[0]: LeafMarkerOid =(leaf)[]> 0
predeterminado 10:33:00.912183 -0600 trustd cert[0]: MissingIntermediate =(leaf)[force]> 0
predeterminado 10:33:00.912253 -0600 trustd cert[0]: AnchorApple =(path)[]> 0
predeterminado 10:33:00.912321 -0600 trustd cert[0]: ChainLength =(path)[]> 0
predeterminado 10:33:00.912399 -0600 trustd cert[0]: IssuerCommonName =(path)[]> 0
predeterminado 10:33:00.943350 -0600 trustd cert[0]: MissingIntermediate =(leaf)[force]> 0
predeterminado 10:33:00.943416 -0600 trustd cert[0]: NonEmptySubject =(path)[]> 0
predeterminado 10:33:00.972795 -0600 trustd cert[1]: AnchorTrusted =(leaf)[force]> 0
Nach Tagen der Forschung und danke für die Hilfe @ Little Green Viper fand ich eine Lösung.
Grundsätzlich funktionierten einige Apple Worldwide Developer Relations Certification Authority
nach dem Update nicht, konnten jedoch erfolgreich für iOS 11
kompilieren. Die riskanteste Lösung ist das Löschen aller Apple Worldwide Developer Certificates
, ABER bevor Sie dies tun, erstellen Sie einen neuen Benutzer auf Ihrem Mac
.
(System Preferences
> Users and groups
> New User
) sollte funktionieren.
Jetzt müssen Sie Optionen wählen, in dem neuen Benutzer arbeiten oder die Zertifikate erneut signieren. In meinem persönlichen Fall habe ich die erste Option ausgewählt.
Ich habe drei Tage gebraucht, um das Problem zu lösen. Ich habe 2 Lösung gefunden. Sie können eine der beiden Möglichkeiten wählen.
Lösung 1:
Öffnen Sie die Systemeinstellungen -> Benutzer und Gruppen -> Fügen Sie ein Benutzerkonto hinzu
Lösung 2: Öffnen Sie Keychain Access -> Wählen Sie System, Alle Elemente -> Zertifikat löschen
Für Xcode 10.v
1 -> Löschen Sie alle Entwicklerzertifikate in keychain
.
2 -> AppleID von Xcode entfernen.
3 -> Starten Sie Xcode neu.
4 -> Fügen Sie eine AppleID erneut zu xcode hinzu (das Gleiche wie zuvor ist in Ordnung).
5 -> Starten Sie Xcode erneut (besser, wenn Sie Ihren MAC neu starten).
Ich wollte die Antwort ein wenig erläutern, auf der Grundlage dessen, was ich durchlaufen habe und was ich gelernt habe, um mit diesem Problem umzugehen, und für diejenigen, die wie ich neu in der Xcode- und iOS-Entwicklung sind. Und wie in meinem Fall musste ich es nur so schnell wie möglich zum Laufen bringen.
Mein Szenario war, dass ich eine Ionic 3 iOS-App auf einigen iPads für einen lokalen gemeinnützigen Zweck als Check-in-Automaten am Empfang habe, sodass diese App im Store nicht öffentlich sein muss. Die App stürzte nach ein paar Tagen ab und nach wochenlangen Nachforschungen stellte sich heraus, dass es sich um mein Apple Entwicklerkonto handelte, nicht um einen Fehler oder ein Speicherleck.
Also habe ich mein Apple Entwicklerkonto neu eingerichtet, neue und aktualisierte Signaturzertifikate und Ad-hoc-Bereitstellungsprofile mit diesen iPads darauf erstellt Sie würden nicht länger abstürzen. Ich habe angefangen, die App auf den Geräten mit meinen glänzenden neuen Zertifikaten und Profilen auszuführen ... und habe dann dieses Chaos "iPad hat die Startanfrage abgelehnt" für ein paar Stunden verfolgt.
Folgendes habe ich gelernt:
Wenn die App bereits auf dem Zielgerät vorhanden ist , setzen Sie die Executable-Einstellung einfach auf "Ask on Launch", indem Sie zu Product → Schema → Schema bearbeiten ...
Stellen Sie sicher, dass Ausführen auf der linken Seite ausgewählt ist, und öffnen Sie dann die Optionen für Ausführbare Datei auf der rechten Seite unter Info Tab. Wählen Sie "Beim Start fragen" und dann Schließen.
Wenn Sie versuchen, die App erneut auszuführen, wird ein Popup mit den verfügbaren Apps auf dem Zielgerät angezeigt, und Sie müssen "appName.app" auswählen und dann auf klicken Run.
Sehen Sie Ihre "appName.app" nicht? , dann ist dies eine Neuinstallation, klicken Sie Cancel.
Wenn dies eine Neuinstallation ist , müssen Sie sicherstellen, dass Ausführbar auf "appName.app" gesetzt ist. . Der erste Startversuch wird verweigert, die App wurde jedoch auf dem Gerät installiert. Dann gehe zurück und setze Executable auf "Ask on Launch" und dann zurück Run nochmal. Die "appName.app" sollte jetzt in der Liste sein.
Ich empfehle Ihnen, sich als Nächstes Ihre Apple Entwicklerzertifikate anzusehen und sicherzustellen, dass sie in der richtigen Reihenfolge und auf dem neuesten Stand sind.
Machen Sie einen kurzen Eindruck, indem Sie auf das Symbol des Infokreises (i) neben Ihren Signaturprofilen klicken.
Verwalten Sie Ihre Zertifikate hier ... https://developer.Apple.com/account/ios/certificate
Sie können Ihre Zertifikate auch von Xcode herunterladen lassen oder sie einfach unter Xcode anzeigen → Preferences:
Stellen Sie dann sicher, dass Sie sich auf der Registerkarte Accounts befinden, wählen Sie links Ihre Apple - ID aus und suchen Sie unten rechts nach der Möglichkeit, Ihre Zertifikate herunterzuladen oder zu verwalten/anzuzeigen ...
Wenn Sie Änderungen/Aktualisierungen an Ihren Zertifikaten vorgenommen haben, führen Sie die App erneut aus und bearbeiten Sie das Ausführungsschema erneut, bevor Sie ein neues Benutzerkonto erstellen.
Sie können dann versuchen, ein neues Benutzerkonto auf Ihrem Computer zu erstellen und dieses neue Konto mit denselben Zertifikaten einzurichten. Dies ist jedoch mehr als ich hier beschreiben möchte. Ich würde dies auch als letzten Ausweg raten.
Xcode 10: iPhone hat die Startanfrage abgelehnt
Viel Glück !
Bearbeiten des Produkt → Schema → Schema bearbeiten → Info → * Ausführbare Datei ** zum Ändern in Fragen Sie beim Start hat funktioniert. Beim Zurücksetzen des Schemas auf die ursprüngliche Einstellung wurde die Anwendung jedoch nicht gestartet.
Auf der Suche nach einer dauerhafteren Lösung habe ich das Entwicklerzertifikat wie oben beschrieben entfernt (Lösung 2: Öffnen Schlüsselbundzugriff → Wählen System, Alle Elemente → Zertifikat löschen Apple Worldwide Developer Relations Certification Authority **), aber wenn ich Xcode neu starte, startet meine Anwendung auf dem Gerät nicht mit genau dem gleichen Verhalten.
Der folgende Ansatz scheint das Problem behoben zu haben:
Haozes: Ich korrigiere das folgendermaßen: Bearbeitungsschema -> Info -> Ausführbare Datei -> Beim Start fragen
Gott sei Dank!!
Referenz: https://forums.developer.Apple.com/thread/86729#270356
Hier ist eine Lösung, bei der das Schema nicht bearbeitet werden muss. Daher können die Haltepunkte wie gewohnt verwendet werden .
Als ich im Schlüsselbund nach dem Schlüsselwort "developer" suchte, stellte ich fest, dass mein iPhone-Zertifikat rot als "ungültig" gekennzeichnet war. Also hier ist was ich getan habe:
Danach funktionierte alles wie gewohnt und ich konnte die App auf meinem iPhone starten.
Es gibt auch ein Video auf YouTube, das diese Methode zeigt.
Es gibt eine einfache Lösung.
Ändern Sie die Bundle-ID oder den Anzeigenamen oder beide. Wenn es funktioniert, ändern Sie es wieder auf das, was es früher war.
Für mich geht das.
Ich hatte gestern dieselben Probleme mit iOS 12 und Xcode 10. Gelöst durch Setzen von "Always Swift Standard Libraries einbetten" auf Ja.
Wählen Sie in Xcode Target
> Build Settings
> Always Embed Swift Standard Libraries
und setzen Sie den Wert auf Yes
.
In meinem Fall wurde das Entwicklerkonto auf dem iOS-Gerät noch nicht genehmigt. Ich musste das manuell in der Settings App machen:
Das Problem sollte mit Ihren Zertifikaten zusammenhängen. Versuchen Sie, Ihre Zertifikate zurückzusetzen und in Ihrem Mac zu installieren.
Um einen besseren Überblick über Ihr Problem zu erhalten, verbinden Sie Ihre iPad
mit iOS 12
und versuchen Sie, die Anwendung erneut auszuführen. Wenn das Problem weiterhin besteht, können Sie die Protokolle überprüfen, um weitere Details anzuzeigen.
Gehen Sie in Ihrer Xcode
zu Window
> Devices
> Select your device
> View Device Logs
.
In meinem Fall können Projekte unter iOS12 + nicht mit einem angegebenen Zertifikat gestartet werden, jedoch für andere iOS-Versionen.
Ich habe die obigen Lösungen in anderen Kommentaren ausprobiert, aber gescheitert. Schließlich fand ich das Problem von der Vertrauenseinstellung des Zertifikats im Schlüsselbund.
Meine Lösung:
Hoffentlich kann dies Ihre Zeit sparen.
Ich bin heute auf dieses Problem gestoßen, und keine der oben genannten Lösungen hat wirklich funktioniert. Nachdem man beachtet hat, was anscheinend iOS 12 und XCode wollen, scheint es, dass iOS beim Ausführen und Debuggen auf dem Gerät über XCode ein Entwickler-Bereitstellungsprofil anstelle eines Versionsverteilungsprofils haben möchte. Der Versuch, während des Debuggens mit einem Nicht-Entwickler-Bereitstellungsprofil von XCode aus auf dem Gerät ausgeführt zu werden, führt zu Problemen in der einen oder anderen Form.
Wenn Sie manuelle Profile verwenden, benötigen Sie aus irgendeinem Grund zwei. Ein Entwicklungsprofil und ein Verteilungsprofil und Verwendung des Entwicklungsprofils beim Debuggen auf einem Gerät.
Etwas, das für mich funktioniert hat, war:
Auf diese Weise könnte ich es zum Laufen bringen
Das sagt mir, dass der Fehler möglicherweise irgendwo im Bereitstellungsprofil liegt.
Eine andere mögliche Lösung: Fahren Sie Ihr Gerät einfach herunter und starten Sie es erneut. Bauen Sie das Gerät erneut auf.