Fehler: Das minimale Bereitstellungsziel der Moduldatei ist ios8.3 v8.3

105

Alle Versuche, ein dynamisches Framework in einen Xcode-Spielplatz zu importieren, führen zu folgendem Fehler:

error: module file's minimum deployment target is ios8.3 v8.3
Vatsal Manot
quelle

Antworten:

155

Möglicherweise haben Sie nach dem Aktualisieren von Xcode ein Ziel erstellt, wodurch 8.3 zum iOS-Bereitstellungsziel in den Build-Einstellungen für dieses Ziel wurde.

Ich habe das behoben durch:

  1. Festlegen des iOS-Bereitstellungsziels auf 8.0 (entspricht dem Rest des Projekts)

Beachten Sie, dass die iOS-Version in diesem Screenshot nicht übereinstimmt (einer ist 10.0, der andere ist 9.3). Beachten Sie, dass die iOS-Version nicht übereinstimmt

Hinweis iOS-Versionen stimmen jetzt überein (stellen Sie sicher, dass alle übereinstimmen) iOS-Versionen wurden entsprechend geändert

  1. Reinigen (Befehl + Umschalt + k) und bauen

Wenn ein Clean + Build das Problem nicht behebt, sollte es hilfreich sein, das Gerät / den Simulator, auf dem / dem Sie bereitstellen, über das Schema-Menü zu wechseln und erneut zu erstellen.

bereits getroffen
quelle
Nur eine Anmerkung: Dieses Problem wurde mit dem GM-Build von Xcode 6.3 behoben.
Vatsal Manot
5
Nicht für mich ... habe gerade den Build bekommen und das Problem ist immer noch für mich anwendbar.
Nate Uni
Ich musste es mehrmals versuchen: Als ich das Bereitstellungsziel änderte, schien es sich nicht wirklich zu ändern, bis ich zu einem anderen Bereitstellungsgerät wechselte. Dann hat es endlich geklappt.
Suz
Das Ändern des Bereitstellungsziels meines Xcode-Projekts hat das Problem für mich behoben.
König-Zauberer
1
@EugeneDubinin: Bei Verwendung nicht vorhandener APIs würde es abstürzen. Entwickler, die versuchen, mehrere iOS-Versionen zu unterstützen, implementieren normalerweise Laufzeitprüfungen für diese Art von Dingen.
Vatsal Manot
77

Dieser Fehler kann auch auftreten, wenn Sie Unit-Tests durchführen. Gehen Sie also zusätzlich zu den Vorschlägen von @Tony und @Allreadyhome wie folgt vor:

  • Gehen Sie bei ausgewähltem Testziel zu "Build-Einstellungen".
  • Suchen Sie in der oberen Suchleiste nach "iOS-Bereitstellungsziel".
  • Ändern Sie den Wert für das iOS-Bereitstellungsziel entsprechend (im Kontext dieser Frage ändern Sie das Bereitstellungsziel in 8.0).

Und du solltest gut sein.

Vick Swift
quelle
3
Ich habe seit Wochen nach einem Weg gesucht, dies zu tun! Vielen Dank! Nur ein Hinweis, vielleicht wird es nicht angezeigt, wenn die Registerkarte "Basic" ausgewählt ist. Wählen Sie vor der Suche "Alle" und Sie können loslegen.
JotaEsse
1
Dies führte mich auch dazu, die Build-Einstellungen des "Projekts" zu überprüfen, und sie waren auch alt. Aktualisiert diese, und jetzt bin ich golden! Vielen Dank!
u2Fan
1
Du bist ein Lebensretter. Ich hätte das nie herausgefunden.
David J
"Mit Ihrem Testziel ausgewählt ..." fehlte mir in anderen Antworten.
Gnarlybracket
18

Wie von Tony erwähnt, musst du

1. Setzen Sie das iOS-Bereitstellungsziel auf 8.0

Wenn Sie Pods verwenden, müssen Sie möglicherweise den folgenden Schritt ausführen:

2. Gehen Sie in die Pods-Abhängigkeiten und ändern Sie die Bereitstellungsziele ebenfalls auf 8.0.

In meinem Fall musste ich das Bereitstellungsziel für jeden meiner Pods auf 8.0 ändern, da alle auf 8.3 waren.

Allreadyhome
quelle
11

Löschen Sie in Ihrer Pod-Datei einfach den Kommentar in dieser Zeile:

platform :ios, '8.0'

Es funktioniert für mich.

Khuong
quelle
5

Ich habe einen Fehler festgestellt:

Module file's minimum deployment target is ios9.2 v9.2

Nachdem ich das iOS-Bereitstellungsziel für mein PROJEKT auf 8.0 geändert habe. Das Projekt wird von Xcode 7.2 erstellt , wobei " Unit-Tests einschließen " und " UI-Tests einschließen " aktiviert sind.

Da für XCUIApplication () iOS 9.0+ erforderlich ist, ändern Sie zur Behebung des Fehlers einfach das Bereitstellungsziel von UI-Tests auf 9.0 oder höher und lassen 8.0 für andere Ziele übrig .

Nianliang
quelle
2

1) Springen, Ziel -> Allgemein -> Bereitstellungsinfo

2) Legen Sie das Bereitstellungsziel als das fest, das in der Fehlermeldung angezeigt wird (in Ihrem Fall 8.3).

3) Produkt -> sauber

4) Produkt -> Build

Priya
quelle
1

Ich hatte dieses Problem, als das Mindestbereitstellungsziel einiger weniger Abhängigkeiten auf eine neuere iOS-Version als das Mindestbereitstellungsziel der Hauptziele festgelegt wurde.


quelle
1

Ich hatte das gleiche Problem, als ich ein Framework-Tutorial mit iOS 12 heruntergeladen habe und mein SDK muss iOS 11.4 haben. Ich habe das iOS-Bereitstellungsziel auf die von mir benötigte Version (11.4) festgelegt und auch die Pods-Abhängigkeiten aktualisiert. Aber ein paar verpasst. Also habe ich eine Suche mit der Version durchgeführt, die ich ändern wollte (das ist 12.0). Es wird nur alles aufgelistet, was die Versionsnummer hat (Ziel, Projekt, Podspec, Pods). Das Ändern aller dieser Elemente (in meinem Fall auf 11.4) hat das Problem gelöst.

anoo_radha
quelle