我想我明白你問什麼,答案是否定的:iOS的模擬器被命名爲他們模擬硬件和iOS的版本,它們運行;例如iPhone 5s(7.1)。
Xcode 6僅附帶iOS 8 SDK。這就是「Base SDK」(SDKROOT)。您可以將其視爲「最佳編譯目標」或「最佳支持版本」 - 這是您編譯的SDK版本。 「部署目標」(IPHONEOS_DEPLOYMENT_TARGET)定義您支持的iOS支持版本的最低。隨着您的應用程序的成熟以及兩者之間的距離的擴大,您需要對受支持的功能進行更多,更多的運行時檢測,或者處理API差異,例如,較新的平臺首選較新的調用,而較舊的平臺則不存在。
針對(基地SDK)7.1編譯的應用程序將在iOS 8.0設備上運行。您可以將其視爲「iOS 7模式」。一個更好的例子是從iOS6移動到7 - iOS6.1上編譯的應用程序「基礎SDK」在iOS7設備上運行,但它們看起來像舊的UI風格。當他們被編譯對iOS7.x「基礎SDK」,他們看起來適合iOS6或7.
我有一個應用程序,我支持作爲「基本SDK」7.1此刻,我設法複製舊的7.1 SDK並針對它進行編譯。老實說,它比它的價值更麻煩,恕我直言。如果你仍然有Xcode 5,並且目前只需要7.1,那麼你可能只是想使用它。鑑於iOS 8.0已經發布,並且如果您的應用程序是新的,那麼您可能根本不需要擔心這一點 - 您可能只想確保您支持iOS 7.x,這就是AOK。
鑑於(對於例如)具有7.0部署目標和8.0鹼SDK應用程序,任何兼容性問題是你來處理。有些方法可能會有不同的表現(儘管Apple努力維護API兼容性),其他方法將被棄用或者不同。文檔在闡明差異和棄用方面做得很好。
你是什麼意思「拉一個SDK的早期版本」? – rmaddy 2014-10-01 16:00:54
爲上述問題添加了示例。 – rynmrtn 2014-10-01 16:55:32