Ich erhalte die folgende Warnmeldung in meinem Xcode 10.1.
Die Bereitstellungsziele für iOS Simulator sind auf 7.0 festgelegt, der Bereich der unterstützten Bereitstellungszielversionen für diese Plattform liegt jedoch zwischen 8.0 und 12.1.
Mein Simulator läuft in 12.1 Xcode 10.1
Und ich habe meine Pod-Datei aktualisiert.
Mein Bereitstellungsziel ist 9.0
In meinem Ziel
Xcode
und es befindet sichFile
oben links neben dem Apple-Symbol. Öffnen Sie dannWorkspace Settings
das Build-System und ändern Sie es in "Legacy Build System". Und wenn Sie dies noch nicht versucht haben stackoverflow.com/a/52552878/2323806Antworten:
Sie können Ihre Poddatei so einrichten, dass das Bereitstellungsziel aller Poddateien automatisch wie folgt mit Ihrem aktuellen Projektbereitstellungsziel übereinstimmt:
post_install do |pi| pi.pods_project.targets.each do |t| t.build_configurations.each do |config| config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '9.0' end end end
quelle
config.build_settings.delete 'IPHONEOS_DEPLOYMENT_TARGET'
Das Problem liegt in der Bereitstellungsziel-iOS-Version Ihrer Pod-Dateien und nicht in der iOS-Version Ihres Projektbereitstellungsziels. Sie müssen daher die iOS-Bereitstellungsversion für Ihre Pods auf einen höheren Wert als 8.0 ändern. Öffnen Sie dazu Ihren Projektarbeitsbereich und gehen Sie wie folgt vor:
1- Klicken Sie auf Pods.
2- Wählen Sie jedes Projekt und Ziel aus und klicken Sie auf Build-Einstellungen.
3- Ändern Sie im Abschnitt Bereitstellung die iOS-Bereitstellungszielversion auf mehr als 8.0 (versuchen Sie besser dieselbe Projektversion).
4- Wiederholen Sie diesen Vorgang für jedes andere Projekt in Ihren Pods und führen Sie dann die App aus.
Einzelheiten finden Sie auf dem Foto
quelle
Durchlaufen der Antwort von Tao-Nhan Nguyen, wobei der ursprünglich für jeden Pod festgelegte Wert berücksichtigt und nur angepasst wird, wenn er nicht größer als 8,0 ist ... Fügen Sie der Pod-Datei Folgendes hinzu:
post_install do |installer| installer.pods_project.targets.each do |target| target.build_configurations.each do |config| if Gem::Version.new('8.0') > Gem::Version.new(config.build_settings['IPHONEOS_DEPLOYMENT_TARGET']) config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '8.0' end end end end
quelle
Anstatt ein Bereitstellungsziel in der Pod-Nachinstallation anzugeben, können Sie das Pod-Bereitstellungsziel löschen, wodurch das Bereitstellungsziel von der Poddatei-Plattform geerbt wird.
Möglicherweise müssen Sie die Pod-Installation ausführen, damit der Effekt erzielt wird.
platform :ios, '12.0' post_install do |installer| installer.pods_project.targets.each do |target| target.build_configurations.each do |config| config.build_settings.delete 'IPHONEOS_DEPLOYMENT_TARGET' end end end
quelle
Wenn Sie CocoaPods mit Xcode 12 verwenden, haben Sie wahrscheinlich diesen Fehler gesehen:
The iOS Simulator deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 8.0, but the range of supported deployment target versions is 9.0 to 14.
Dies geschieht, weil die Unterstützung für iOS 8 eingestellt wurde, das Mindestbereitstellungsziel für den Pod jedoch iOS 8 ist.
Bis dies behoben ist, können Sie Ihrem Podfile Folgendes hinzufügen:
post_install do |installer| installer.pods_project.targets.each do |target| target.build_configurations.each do |config| config.build_settings.delete 'IPHONEOS_DEPLOYMENT_TARGET' end end end
Dadurch wird das Bereitstellungsziel aus allen Pods in Ihrem Projekt entfernt, und sie können das oben in Podfile angegebene Projekt- / Arbeitsbereich-Bereitstellungsziel erben.
quelle
installer.pods_project&.targets&.each do |target|
Sie diese Option, wenn Sieincremental_installation
true festgelegt haben.Wenn jemand von einem nativen Problem hierher gekommen ist, löschen Sie einfach den Ordner / build und geben Sie ein
react-native run ios
quelle
/build
Ordner, Kollege?./project-root/ios/build
Ich habe dieses Problem gelöst und das Build-System auf
Legacy Build System
von geändertNew Build System
Wählen Sie in Xcode v10 + Datei> Projekteinstellungen
Wählen Sie im vorherigen Xcode Datei> Arbeitsbereichseinstellungen
Ändern Sie das Build-System in
Legacy Build System
vonNew Build System
-> Klicken Sie auf Fertig.quelle
Versuchen Sie diese Schritte:
cd /ios
pod install
Das hat bei mir funktioniert.
quelle
Wir können das Projektbereitstellungsziel auf alle Pods anwenden. Behoben durch Hinzufügen dieses Codeblocks unten am Ende Ihrer Poddatei:
post_install do |installer| fix_deployment_target(installer) end def fix_deployment_target(installer) return if !installer project = installer.pods_project project_deployment_target = project.build_configurations.first.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] puts "Make sure all pods deployment target is #{project_deployment_target.green}" project.targets.each do |target| puts " #{target.name}".blue target.build_configurations.each do |config| old_target = config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] new_target = project_deployment_target next if old_target == new_target puts " #{config.name}: #{old_target.yellow} -> #{new_target.green}" config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = new_target end end end
Ergebnisprotokoll:
quelle
für Cordova-Entwickler mit diesem Problem
versuche zu setzen
<preference name="deployment-target" value="8.0" />
in confix.xml
quelle
In meinem Fall habe ich beide verwendet
npm install
undyarn install
deshalb habe ich dieses Problem bekommen. Um dies zu lösen, habe ich package-lock.json und node_modules entfernt und dann habe ich es getanyarn install cd ios pod install
es hat bei mir funktioniert
quelle