webentwicklung-frage-antwort-db.com.de

Ist es möglich, iOS 7 SDK auf Xcode 6 zu installieren?

Ich habe Xcode 6 installiert, aber mir ist klar, dass ich nur für iOS8 entwickeln kann. Ich bin mir bewusst, dass dieses Beta-Entwicklungskit für die Entwicklung der Beta-Version von iOS 8 gedacht ist, aber ich bin in einer Position, in der ich noch keine Zeit für die Entwicklung habe, aber einige der neuen Funktionen von Xcode nutzen möchte Ich entwickle für meine aktuellen iOS 7 Apps.

Was kann ich tun, um das iOS 7 SDK auf xcode 6 zu installieren?

35
Pavan

Wenn Sie das relevante SDK aus einer früheren Installation von Xcode mit dem Xcode 6 Beta-Verzeichnis symlinken, kann es anscheinend von Xcode 6 verwendet werden. Angenommen, Sie haben noch Xcode 5.1.1 auf Ihrem Computer, versuchen Sie Folgendes im Terminal:

ln -s /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS7.1.sdk /Applications/Xcode6-Beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS7.1.sdk

Dies sollte das iOS 7 SDK für iPhone (nicht sim) verknüpfen, sodass Sie iOS 7 als Basis-SDK in Xcode 6 Beta auswählen können. Wenn Sie dies für den Simulator tun möchten, ersetzen Sie iPhoneOS.platform mit iPhoneSimulator.platform.

HINWEIS: Nur weil Sie das iOS 7 SDK haben, heißt das noch lange nicht, dass es erstellt wird. Ich persönlich habe Probleme mit der Tatsache, dass Xcode 6 Beta den Apple LLVM 6.0-Compiler verwendet, der anscheinend mit einigen der Dinge, die ich zu erstellen versuche, nicht kompatibel ist.

ref: https://stackoverflow.com/a/11424966/23830

34
Ziewvater

Einfach posten, damit es jemand nützlich findet: Ich wollte meine App auf einem iPhone mit iOS 7.1 und XCode 6.0.1 debuggen. Die vorherige iOS-Version wurde nicht auf der Einstellungsseite aufgeführt, um sie als Basis-SDK/Bereitstellungsziel auszuwählen. (Ich verwende OS X 10.10 Yosemite). Ich habe sowohl XCode 6.0.1 als auch Xcode 5.0.1 installiert und kopiert

/Application/XCode501.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS7.0.sdk

zu

/Anwendung/XCode601.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/

Jetzt kann ich iOS 7-Apps mit XCode 6.0.1 ausführen.

3
Joe M

Ich wiederhole nur Christians Kommentar (zu Ziewvaters Antwort), damit er prominenter ist:

Was seltsam ist, ist die Tatsache, dass nach dem Hinzufügen des symbolischen Links zu meinem Xcode-Ordner mein Gerät zweimal mit dem genauen Namen und einigen Informationen (iOS-Build-Nummer, Modell, Geräte-ID) in der Zielauswahl in der oberen linken Ecke von Xcode angezeigt wird . Je nachdem, welchen der beiden Einträge ich gewählt habe, funktioniert meine App einwandfrei oder nicht, egal welches BASE SDK ich gewählt habe. ??! Hat jemand dasselbe erlebt?

Das ist genau meine Erfahrung auch! Ich und mein Team haben uns die Haare ausgerissen, um zu verstehen, warum einige Builds zu funktionieren schienen und andere nicht.

Es sieht so aus, als ob Apple muss das Basis-SDK (oder das Ziel ... oder etwas anderes) ignorieren, wenn Sie das falsche Gerät aus der Liste auswählen.

2
Benjamin Dobell

Ich habe das Bereitstellungsziel problemlos geändert und es trotzdem auf meinem iOS7 iPhone 4s installiert. Sie können Ihre gesamte Entwicklung auf diese Weise durchführen und dann 5.1.1 verwenden, um Ihre relevanten Builds zu erstellen. Ich würde nicht raten, Apps für die Produktion in dieser Beta-Umgebung zu erstellen, selbst wenn Sie könnten.

2
Fernando Mazzon

in Xcode 6.1.1 (Fenster -> Einstellungen - Downloads) können Sie den iOS 7.1-Simulator installieren. Leider wird iOS 7.1 SKD nicht installiert. Wenn Sie das Bereitstellungsziel auf 7.1 setzen, können alle Builds problemlos erstellt werden. sei besorgt !!!! Es liegt an Ihnen, die Kompatibilität mit 7.1 zu überprüfen (SDK ist immer noch 8.1). So oder so sollten alle Laufzeitprobleme im Simulator angezeigt werden. Ich verwende diesen Ansatz, um für mein iPhone 4 in Swift zu bauen, wobei iOS 7.1.2 das letzte verfügbare ist. (Benutze einfach keine Klassen, die nur für neuere Geräte verfügbar sind :-))

0
user3441734