Swift əsaslı tətbiqlər OS X 10.9 / iOS 7 və aşağıda işləyir?

Swift əsaslı tətbiqlər OS X 10.9 (Mavericks) / iOS 7 və aşağıda işləyir?

Məsələn, OS X 10.8 (Mountain Lion) ilə bir maşınım var və mən Swift-də yazdığım tətbiqin üzərində çalışacaqmı?

573
02 июня '14 в 22:25 2014-06-02 22:25 Meir , 02 İyun '14 'də saat 22:25' də təyin olunub . 2014-06-02 22:25
@ 18 cavab

Yalnız sizin üçün test etdilər, Swift tətbiqləri standart ikilələrə yığılır və OS X 10.9 və iOS 7-də işləyə bilər.


Test üçün istifadə edilən Simple Swift tətbiqi:

 func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: NSDictionary?) -> Bool { self.window = UIWindow(frame: UIScreen.mainScreen().bounds) var controller = UIViewController() var view = UIView(frame: CGRectMake(0, 0, 320, 568)) view.backgroundColor = UIColor.redColor() controller.view = view var label = UILabel(frame: CGRectMake(0, 0, 200, 21)) label.center = CGPointMake(160, 284) label.textAlignment = NSTextAlignment.Center label.text = "I'am a test label" controller.view.addSubview(label) self.window!.rootViewController = controller self.window!.makeKeyAndVisible() return true } 
498
02 июня '14 в 23:11 2014-06-02 23:11 Cavab, Leandros tərəfindən 02 İyun 2014 tarixində 23:11 2014-06-02 23:11 tarixində verilir

Swift kodu OS X 10.9 və iOS 7.0-da yerləşdirilə bilər. OS-nin köhnə versiyalarında işləyərkən tez-tez qəza olur.

border=0
191
03 июня '14 в 11:25 2014-06-03 11:25 Cavab Greg Parker tərəfindən 03 iyun 'da 11:25' də veriləcək 2014-06-03 11:25

Apple, Swift tətbiqlərinin iOS 7 və OS X Mavericks ilə geri uyğun olacağını açıqladı. WWDC proqramı Swift-də yazılmışdır.

100
03 июня '14 в 3:03 2014-06-03 03:03 Cavab Ben Gottlieb tərəfindən 03 İyun '14 'də 3:03 2014-06-03 03:03

Yeniləmə - Xcode 6 Beta 4 görə

iOS 7 və OS X 10.9 minimum yerləşdirmə hədəfi

Swift kompilyatoru və Xcode indi iOS 7 və ya OS X Mavericks-in minimum yerləşdirmə hədəfini tətbiq edir. Bir əvvəlki yerləşdirmə hədəfinin qurulması bir qurma başarısızlığına səbəb olur.

Xcode 6 azad qeydlərindən

Beləliklə, mənim əvvəlki cavabım (aşağıya bax) hər hansı bir inkişafa tətbiq edilmir. Swift artıq iOS6 və aşağıda mövcud olmayacaq.


Swift-i iOS 6-da işə sala bilərsiniz. Çoxları Swift yalnız iOS 7 + və OS X 10.9 + -a dəstək verəcəyinə baxmayaraq, mənim təcrübəmdə belə deyil.

Mən bir iOS cihazında Swift-da yazılmış sadə bir tətbiqi test etdi nbs 6; Böyük işləyir . Apple deyir ki, Swift kodu Objective-C kodu ilə uyğun ikili. İkili fayl yaratmaq üçün eyni derleyici və iş istifadə edir.

Test etdiyim kod:

 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") } } 

Bu sadəcə bir düyməni proqramlı şəkildə əlavə edən sadə bir tətbiqdir. Proqramımda yalnız iki fayl var: AppDelegate.swiftViewController.swift .

Belə ki, iOS 8 SDK-nın və ya bəzi xüsusi Swift API-lərin bir hissəsi kimi əlavə edilmiş yeni API-lər istifadə etmirsinizsə (müvafiq API obyektiv-C üçün mövcud deyildirsə), tətbiqiniz iOS 6 və ya daha sonra versiyası (test edilmiş və işləyir), hətta iOS 5-də (test edilməmişdir). Swift-də API-lərin əksəriyyəti sadəcə mövcud Objective-C API-lər üçün əvəz olunur. Əslində ikili formatda eynidırlar.

Qeyd Xcode 6 beta 4 uyğun olaraq tətbiqlərin sürətli yerləşdirilməsi üçün məqsədi iOS 7 və ya OS X 10.9 olmalıdır (yuxarıdakı yenilənmə bax). Beləliklə, sürət artıq iOS6 və aşağıda mövcud olmayacaq.


98
04 июня '14 в 16:37 2014-06-04 16:37 Cavab Anil Vargesi tərəfindən 04 İyun '14 'də 16:37 2014-06-04 16:37 ' də verilir

Qısacası:

Swift-based apps eyni app ilə OS X Mavericks və ya iOS 7 qayıda bilər.

Bu necə mümkündür?

Xcode proqram paketinə kiçik bir Quicktime Quicktime kitabxana qurur. Kitabxana qurulduğundan, tətbiqiniz, keçmiş, indiki və gələcək OS-lərdə işləyən Swift-in ardıcıl sürümünü istifadə edir.

Bu cavabı nə üçün etməliyəm?

Çünki mən bu cavabdan danışmıram, çünki elmdən gələn bir adam Twitter-də mənə demişdi, ya da salam dünyası yazmış və onu test etmişəm.

Bunu Apple developers blogundan götürdüm.

ona etibar edə bilərsiniz.

30
16 окт. Cavab Durai Amuthan tərəfindən verilir. 16 oktyabr 2014-10-16 18:59 '14 saat 18:59 'də 2014-10-16 18:59

Swift, Objective-C kimi eyni iş mühitini istifadə edir və hətta bir tətbiqdə Objective-C ilə yan-yana yaşayır (WWDC etiketinə görə 2014).

Bu, son cavab tapmaq üçün Xcode 6 və yeni SDK istifadə edərək təsdiqlənməlidir / təsdiqlənməlidir.

29
02 июня '14 в 22:39 2014-06-02 22:39 Cavab Chris Pietschmann tərəfindən 02 İyun '14 'də saat 10:39 ' da veriləcək 2014-06-02 22:39

Yox, Swift iOS 7 ilə işləmir. YES deyirəm, yalnız 6.0 hədəfi ilə Xcode 5-də çalışan Swift layihəsini yaratdım.

  • Mən sadəcə seçilmiş proqramlaşdırma dili Swift ilə Xcode 6 BETA-da bir demo layihəsi yaradıram .
  • Xcode 6 beta'yı bağlayın və mən bu demo layihəsini Xcode 5-də 6.0 yerləşdirmək üçün açacağam
  • Həmçinin simulatoru 6.1 seçin.

Sonra bu layihə simulatorda yaxşı işləyir 6.1. Mənim Mac OS X 10.9.3, bəli, dedim ki, iOS 7- də işləyir. Mac OS X 10.9.3 ilə .

Simulatorun ekran görüntüsü:

2019

21
04 июня '14 в 16:26 2014-06-04 16:26 cavab Nitin Gohel 04 iyun '14 16:26 2014-06-04 16:26 verilir

Kod bunu təsdiqlədiyinə baxmayaraq, Apple'ın özü, WWDC 2014-də Swift'ın texniki açar sözləriylə (platforma vəziyyəti, 102-ci sessiya, 34 dəqiqə, 00 saniyə) iOS 7 və Mavericks ilə uyğun olacağını bildirdi.

19
03 июня '14 в 23:12 2014-06-03 23:12 cavab 03 iyun '14 'da saat 23:12' də verildi. 2014-06-03 23:12

Sürətli tətbiqlər Beta 4 sürüm qeydlərində göstərildiyi kimi iOS 7 və yuxarıda dəstəklənir Xcode 6'da IOS 6.0, 6.1, 7.0, 7.1, 8.0 Beta vuruşu>

Swift tətbiqləri OS X 10.9 və daha yüksək səviyyədə dəstəklənir. Yerləşdirmə hədəfləri üçün OS X 10.4 - 10.10. 10.10-da hədəf 10.5-də sınaqdan keçirdim və 10.9.3-də çalışdım

14
18 июня '14 в 20:58 2014-06-18 20:58 Cavab vladof81 verilir 18 iyun '14, 20:58 2014-06-18 20:58

Swift tətbiqləri OS X 10.7 üzərində işləmir . Mən yalnız Mavericks-də işləyən sadə bir qrafik tətbiq (görünüş, düzəldici, düyməsini) yaratdım. Baza SDK 10,9, təyinat hədəfi isə 10,7 təşkil edir. Bu tətbiqi DerivedData qovluğundan 10.7 virtual maşına kopyaladım və başlamadı, bu səhvəni göstərin:

 Crashed Thread: 0 Exception Type: EXC_BREAKPOINT (SIGTRAP) Exception Codes: 0x0000000000000002, 0x0000000000000000 Application Specific Information: dyld: launch, loading dependent libraries Dyld Error Message: Library not loaded: /System/Library/Frameworks/CoreGraphics.framework/Versions/A/CoreGraphics Referenced from: /Users/USER/Desktop/Swift-Test.app/Contents/MacOS/../Frameworks/libswiftAppKit.dylib Reason: image not found Binary Images: 0x109c65000 - 0x109c6afff +private.Swift-Test (1.0 - 1) <649695D0-58FD-3D02-9176-2D40D4E711F2> /Users/USER/Desktop/Swift-Test.app/Contents/MacOS/Swift-Test 0x109c83000 - 0x109dbffff +libswift_stdlib_core.dylib (1.0 - 600.0.34.4.5) <10AAC369-9404-321D-A892-49F65856D7AF> /Users/USER/Desktop/Swift-Test.app/Contents/Frameworks/libswift_stdlib_core.dylib ... 

Lakin, CoreGraphics bu virtual maşında olduğundan, bu mesaj cansıxıcıdır. CoreGraphics-dən çox istifadə edən digər tətbiqlər yaxşı işləyir.

13
09 июня '14 в 13:17 2014-06-09 13:17 Cavab Mike Lischke tərəfindən 09 iyun '14 'də saat 13:17' də verilir. 2014-06-09 13:17

Swift blog yazısından oxuduğum bu yazı faydalı ola bilər:

Ərizə Uyğunluq :

Bir Swift proqramı yazırsanız, tətbiqinizin gələcəkdə işləyəcəyinə əmin ola bilərsiniz. Əslində eyni tətbiq ilə OS X Mavericks və ya iOS 7- ə qayıda bilərsiniz. Xcode proqram paketinizə kiçik bir Quicktime işləmə kitabxanası qurduğundan bu mümkündür. Kitabxana qurulduğundan, tətbiqiniz, keçmiş, indiki və gələcək OS-lərdə işləyən Swift-in ardıcıl sürümünü istifadə edir.

İkili uyğunluq və çərçivə:

Proqram icra vaxtına uyğunluğu təmin edildikdə, Swift dili özü inkişaf etməyə davam edəcək və ikili interfeys də dəyişəcək. Təhlükəsiz olmaq üçün ərizənizin bütün komponentləri birgə işləməyi təmin etmək üçün Xcode və Swift kompilyatorunun eyni versiyası ilə inşa edilməlidir.

Bu, çərçivələri diqqətlə idarə etməlisiniz. Məsələn, layihəniz kodun daxili genişlənmə ilə bölüşdürülməsi üçün istifadə edərsə, strukturları, tətbiqləri və uzantıları birləşdirməlisiniz. Swift-dən istifadə edən ikili strukturlara - xüsusilə üçüncü tərəflərdən etibar etmək təhlükəlidir. Swift dəyişiklikləri kimi, bu çərçivə tətbiqinizin qalan hissəsi ilə uyğun gəlməyəcəkdir. İkili interfeys bir il və ya iki ildən sonra sabitləşdikdə, Swift iş mühit mühiti host OS-lərin bir hissəsi olacaq və bu məhdudiyyət artıq olmayacaqdır.

13
18 июля '14 в 15:04 2014-07-18 15:04 Cavab Yatheesha BL 18 iyul 'da 15:04' də verilir 2014-07-18 15:04

Proqramı çılpaq bir sümüklə, iPod Touch-da Swift (3-cü gen) ilə sınaqdan keçirdim. Swift əsaslı tətbiqlər iOS 5.x ilə işləmir , lakin iOS 6.x ilə işləyirlər.

İOS 5.0.1 ilə bir test tətbiqini başlatdığımda hata ayıklama gündəmində göstərilən şey budur:

 dyld: F_ADDFILESIGS failed for /private/var/mobile/Applications/59E31E79-9525-43B0-9DF6-8FEF3C0080F1/SwiftTestApp.app/Frameworks/libswift_stdlib_core.dylib with errno=1 dyld: F_ADDFILESIGS failed for /private/var/mobile/Applications/59E31E79-9525-43B0-9DF6-8FEF3C0080F1/SwiftTestApp.app/Frameworks/libswiftCoreGraphics.dylib with errno=1 dyld: F_ADDFILESIGS failed for /private/var/mobile/Applications/59E31E79-9525-43B0-9DF6-8FEF3C0080F1/SwiftTestApp.app/Frameworks/libswiftDarwin.dylib with errno=1 dyld: F_ADDFILESIGS failed for /private/var/mobile/Applications/59E31E79-9525-43B0-9DF6-8FEF3C0080F1/SwiftTestApp.app/Frameworks/libswiftDispatch.dylib with errno=1 dyld: F_ADDFILESIGS failed for /private/var/mobile/Applications/59E31E79-9525-43B0-9DF6-8FEF3C0080F1/SwiftTestApp.app/Frameworks/libswiftFoundation.dylib with errno=1 dyld: F_ADDFILESIGS failed for /private/var/mobile/Applications/59E31E79-9525-43B0-9DF6-8FEF3C0080F1/SwiftTestApp.app/Frameworks/libswiftObjectiveC.dylib with errno=1 dyld: F_ADDFILESIGS failed for /private/var/mobile/Applications/59E31E79-9525-43B0-9DF6-8FEF3C0080F1/SwiftTestApp.app/Frameworks/libswiftUIKit.dylib with errno=1 dyld: Symbol not found: _OBJC_CLASS_$_NSObject Referenced from: /private/var/mobile/Applications/59E31E79-9525-43B0-9DF6-8FEF3C0080F1/SwiftTestApp.app/Frameworks/libswift_stdlib_core.dylib Expected in: /usr/lib/libobjc.A.dylib in /private/var/mobile/Applications/59E31E79-9525-43B0-9DF6-8FEF3C0080F1/SwiftTestApp.app/Frameworks/libswift_stdlib_core.dylib 

İOS 6.1.6 üçün, bu səhv mesajları göstərmədən tətbiq yaxşı işləyir.

11
10 июня '14 в 0:43 2014-06-10 00:43 Cavab Davud H tərəfindən 10 iyun 'da verildi 0:43 2014-06-10 00:43

Göründüyü kimi burada bir çox köhnə cavablar var, buna görə də rəsmi Swift cavabını dərc etmək istəmişdim. Swift OS X Mavericks və iOS 7 ilə geri uyğun gəlir

https://developer.apple.com/swift/blog/

11 iyul 2014-cü il

Uyğunluq

WWDC-də eşitdiklərimiz ən çox rast gəlinən suallardan biri "Swift üçün uyğunluq tarixi nədir?". Böyük bir mövzu kimi görünür.

Uyğunluq Uyğunluq Sadəcə, bu gün Swift tətbiqini yazıb, bu payızda App Store-a göndərin, iOS 8 və OS X Yosemite azad edildikdə, tətbiqinizin gələcəkdə işləyəcəyinə əmin ola bilərsiniz. Əslində eyni tətbiq ilə OS X Mavericks və ya iOS 7 hədəf ala bilərsiniz. Xcode proqram paketinə kiçik bir Quick Swift kitabxana qurduğundan bu mümkündür. Kitabxana qurulduğundan, tətbiqiniz, keçmiş, indiki və gələcək OS-lərdə işləyən Swift-in ardıcıl sürümünü istifadə edir.

11
24 окт. Cavab Oren 24 oct verilir . 2014-10-24 21:43 '14 at 21:43 2014-10-24 21:43

Mən də 10.8-də çox sadə bir tətbiq etməyi sınadım (bir düyməsinə, mətndə etiket yazan). Greg Parker:

 Dyld Error Message: Symbol not found: __dispatch_source_type_memorypressure Referenced from: /VolumesSwifTest.app/Contents/MacOS/../Frameworks/libswiftDispatch.dylib 

(Yerləşdirmə hədəfi 10.7)

10
10 июня '14 в 1:08 2014-06-10 01:08 Cavab Valdar Moridin tərəfindən 10 iyun 2014-cü il saat 01 :08-da verilir. 2014-06-10 01:08

Aşağıdakı kodu istifadə edin:

StoryBoard olmadan işlər:

 func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: NSDictionary?) -> Bool { self.window = UIWindow(frame: UIScreen.mainScreen().bounds) self.window!.backgroundColor = UIColor.whiteColor() // Create a nav/vc pair using the custom ViewController class let nav = UINavigationController() let vc = ViewController(nibName: "ViewController", bundle: nil) // Push the vc onto the nav nav.pushViewController(vc, animated: false) // Set the window's root view controller self.window!.rootViewController = nav // Present the window self.window!.makeKeyAndVisible() return true } 
9
04 июня '14 в 17:27 2014-06-04 17:27 Cavab verilir PREMKUMAR 04 İyun '14 17:27 2014-06-04 17:27

Swift Çərçivəsinə gəldikdə. Xvod versiyası 6.1.1 (6A2008a) ilə Swift quruluşu iOS 7.1 üçün, bu günə gəlincə, linker mesajı haqqında xəbərdarlıq

 ld: warning: embedded dylibs/frameworks only run on iOS 8 or later. 

Ərizə AppStore-a göndərilə bilməz. Bu sualları soruşun, https://github.com/CocoaPods/CocoaPods/issues/3193

7
26 февр. Cavab Marcin tərəfindən 26 Fevralda verilir . 2015-02-26 14:12 '15 at 14:12 2015-02-26 14:12

15 Fevral 2015 tarixindən etibarən sürətli yeniləmə, biz iOS 8-dən əvvəl SDK istifadə edərək hazırlanmış olan mağazaya apps göndərə bilmərik. Buna görə də xatırlayıram ki, bu problemdən narahat olmayın, çünki bir çox insanlar Swift-də yaradılan proqramların OS X 10.9 və iOS 7.0-a yerləşdirilməsini təklif etdilər.

6
11 апр. Cavab 13-cü Ghost 11 apr verilir. 2015-04-11 22:25 '15 at 10:25 pm 2015-04-11 22:25

Bəli, Apple, Swift tətbiqlərinin iOS 7 və OS X Mavericks ilə geri uyğun olacağını elan etdi. Əlavə olaraq, WWDC proqramı Swift proqramlaşdırma dilində yazılmışdır.

6
18 марта '15 в 15:27 2015-03-18 15:27 Cavab Bodi Osman tərəfindən 18 Mart 'da 15:27' də verilir. 2015-03-18 15:27

tags ilə bağlı digər suallar və ya bir sual