अद्यतन - Xcode 6 बीटा 4 के अनुसार
iOS 7 और OS X 10.9 न्यूनतम तैनाती लक्ष्य
स्विफ्ट कंपाइलर और Xcode अब iOS 7 या OS X Mavericks का न्यूनतम तैनाती लक्ष्य लागू करते हैं। पहले से परिनियोजन लक्ष्य सेट करने से बिल्ड विफलता होती है।
Xcode 6 रिलीज नोट से
तो मेरा पिछला उत्तर (नीचे दिखाया गया) किसी और विकास पर लागू नहीं होगा। स्विफ्ट अब iOS6 और उससे नीचे के लिए उपलब्ध नहीं होगी
IOS 6 पर एक स्विफ्ट एप्लिकेशन चलाया जा सकता है। हालांकि कई लोग कह रहे हैं कि स्विफ्ट केवल iOS 7+ और OS X 10.9+ का समर्थन करेगा, मेरे अनुभव से यह नहीं है।
मैंने iOS 6 डिवाइस में स्विफ्ट में पूरी तरह से लिखे गए एक साधारण एप्लिकेशन का परीक्षण किया है। यह पूरी तरह से ठीक काम करता है । जैसा कि ऐप्पल कहता है, स्विफ्ट कोड उद्देश्य-सी कोड के साथ द्विआधारी संगत है। यह बाइनरी बनाने के लिए एक ही कंपाइलर और रनटाइम का उपयोग करता है।
यहाँ कोड है जो मैंने परीक्षण किया है:
import UIKit
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
let button = UIButton.buttonWithType(UIButtonType.System) as UIButton
button.frame = CGRectMake(100, 100, 100, 50)
button.backgroundColor = UIColor.greenColor()
button.setTitle("Test Button", forState: UIControlState.Normal)
button.addTarget(self, action: "buttonTapped:", forControlEvents: UIControlEvents.TouchUpInside)
self.view.addSubview(button)
}
func buttonTapped(sender: UIButton!) {
println("buttonTapped")
}
}
यह एक सरल अनुप्रयोग है, बस एक बटन को प्रोग्रामेटिक रूप से जोड़ना है। मेरे आवेदन में केवल दो फाइलें हैं, AppDelegate.swift
और ViewController.swift
।
इसलिए यदि आप iOS 8 एसडीके या कुछ स्विफ्ट विशिष्ट एपीआई के भाग के रूप में जोड़े गए किसी भी नए एपीआई का उपयोग नहीं कर रहे हैं (उद्देश्य एपीआई के लिए संबंधित एपीआई उपलब्ध नहीं है) तो आपका आवेदन मूल रूप से आईओएस 6 या बाद में (परीक्षण और काम) पर काम करेगा, यहां तक कि iOS 5 पर (परीक्षण नहीं किया गया)। स्विफ्ट में अधिकांश एपीआई मौजूदा वस्तुनिष्ठ-सी एपीआई के प्रतिस्थापन मात्र हैं। वास्तव में वे बाइनरी में समान हैं।
नोट: स्विफ्ट ऐप्स के लिए Xcode 6 बीटा 4 के अनुसार तैनाती लक्ष्य iOS 7 या OS X 10.9 होना चाहिए (उपरोक्त अद्यतन देखें)। इसलिए स्विफ्ट अब iOS6 और उससे नीचे के लिए उपलब्ध नहीं होगी