Angenommen, ich habe das Basis-SDK auf 7 gesetzt. Was bedeutet das? Dies könnte bedeuten, dass die App unter iOS 7 ausgeführt wird. Dafür ist das iOS-Bereitstellungsziel vorgesehen.
Warum gebe ich diese 3 Werte sowohl im Projekt als auch im Ziel an? Es macht keinen Sinn. Warum zweimal dasselbe angeben?
objective-c
xcode4.5
user4951
quelle
quelle
Antworten:
Das Basis-SDK ist das, gegen das Sie Ihre App erstellen (dh Include- und Bibliotheksdateien und Frameworks). Wie Sie sagen, hat dies keine Auswirkungen auf das Bereitstellungsziel, außer auf das Basis-SDK> = Bereitstellungsziel.
Sie legen Build-Einstellungen auf zwei Ebenen fest, da jedes Projekt mehrere Ziele haben kann und Sie möglicherweise nicht für alle Ziele dieselben Einstellungen wünschen. Die Einstellungen auf Projektebene überschreiben die Standardeinstellungen und die Einstellungen auf Zielebene überschreiben die Einstellungen auf Projektebene.
Zum Beispiel habe ich Projekte mit OSX- und iOS-Zielen und einige sind ARC und einige sind MRR. Ich müsste für jedes Projekt unterschiedliche Projekte haben, wenn ich keine Build-Einstellungen mit der von Xcode zugelassenen Granularität festlegen könnte.
quelle
In iOS 7 TechTalk , Sitzung Architecting Modern Apps, Teil 2, wird dies klar erläutert
Gut gelesen Hallo! Ich bin verfügbar!
Weitere Informationen finden Sie in meinem Beitrag SDK und Bereitstellungsziel
quelle
Das Basis-SDK ist das SDK, mit dem Sie verknüpfen. Das Bereitstellungsziel ist die mindestens erforderliche iOS-Version, die Ihre Anwendung ausführen muss. Sie können eine Anwendung mit SDK 7 erstellen, die unter iOS 6 ausgeführt wird. Dann müssen Sie jedoch darauf achten, keine Funktion oder Methode zu verwenden, die unter iOS 6 nicht verfügbar ist. Wenn Sie dies tun, stürzt Ihre Anwendung unter iOS 6 ab Diese Funktion wird verwendet.
Weitere Informationen finden Sie in der Apple-Dokumentation: https://developer.apple.com/library/content/documentation/DeveloperTools/Conceptual/cross_development/Configuring/configuring.html
quelle