Apakah aplikasi berbasis Swift berfungsi pada OS X 10.9 / iOS 7 dan lebih rendah?

616

Akankah aplikasi berbasis Swift bekerja pada OS X 10.9 (Mavericks) / iOS 7 dan lebih rendah?

Sebagai contoh, saya memiliki mesin yang menjalankan OS X 10.8 (Mountain Lion), dan saya bertanya-tanya apakah aplikasi yang saya tulis di Swift akan berjalan di atasnya.

Atau apa yang harus saya buat untuk membuat aplikasi Swift menggunakan Mac OS?

MeIr
sumber
51
Dengan asumsi Swift dikompilasi menjadi executable "normal" dan dengan asumsi tidak ada pustaka runtime spesifik Swift yang diperlukan dalam OS, maka ya, itu harus dijalankan pada sistem yang lebih lama. Kami belum tahu. Unduh Xcode 6 dan coba.
rmaddy
12
Jawaban resmi akan ditemukan di video State of the Union.
Steven Fisher
3
@rmaddy FWIW: di WWDC, dalam presentasi Swift, paling jelas dinyatakan bahwa Swift dan Objective-C memiliki runtime yang sama.
11684
1
Ini adalah pengetahuan umum dan bahkan disebutkan dalam keynote bahwa itu berjalan pada sistem operasi tersebut.
rhummelmose
3
Pertanyaan ini adalah yang digunakan sebagai contoh di halaman tur .
Donald Duck

Jawaban:

520

Saya baru saja mengujinya untuk Anda, aplikasi Swift mengkompilasi ke dalam binari standar dan dapat dijalankan pada OS X 10.9 dan iOS 7.


Aplikasi Swift sederhana yang digunakan untuk pengujian:

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
}
Leandros
sumber
13
Lihat stackoverflow.com/questions/24007050/… - ini bertentangan dengan jawaban ini (setidaknya bagian "atau bahkan lebih rendah").
rmaddy
14
Saya hanya menguji iOS 7.0 dan OS X 10.9. Seperti yang dikatakan dalam jawabannya.
Leandros
@Leandros Dengan menggunakan kata kunci var, mengapa kita perlu mengetik UIViewController dua kali di baris ini "var controller: UIViewController = UIViewController ()"? Apakah var tidak sama dengan JavaScript / C # (jika tidak, maka sangat sedih)? Apakah ini casting, tetapi jenis objek sama di kedua sisi dengan tanda sama?
Tien Do
3
@TienDo Saya tidak punya pengalaman Swift, tapi saya kira yang pertama UIViewControllersetelah titik dua mewakili jenis variabel dan kejadian kedua setelah =tanda memanggil konstruktor (menginisialisasi variabel).
ComFreek
2
Untuk iOS: di Xcode 6 beta, ada target penyebaran hingga iOS 6. Saya menguji semuanya, bekerja menemukan. Ada beberapa jawaban yang sama.
ySiggen
197

Kode Swift dapat digunakan untuk OS X 10.9 dan iOS 7.0. Biasanya akan crash saat diluncurkan pada versi OS yang lebih lama.

Greg Parker
sumber
4
Greg, terima kasih sudah datang ke sini untuk menjawab pertanyaan. Bisakah Anda mengatakan sedikit tentang perubahan 10.8-> 10.9 dan 6.x-> 7.0 yang memungkinkan kode yang dihasilkan dari Swift dijalankan?
Ivan Vučica
20
Swift menetapkan beberapa bit dalam metadata Objective-C untuk menandai kelas Swift. libobjc di OS X 10.9 dan iOS 7.0 diubah untuk mengabaikan bit-bit ini dalam persiapan untuk kedatangan Swift. Versi OS yang lebih lama akan bingung dengan bit-bit ini.
Greg Parker
9
Saya akan JAUH menghargai jika Apple akan mempertimbangkan untuk membuat Swift apps bekerja pada platform yang lebih tua juga (setidaknya dari OSX 10.7 dan seterusnya). Alasannya adalah bahwa kami masih memiliki banyak pelanggan dengan OS ini, jadi kami tidak dapat mulai mengembangkan dengan Swift selama bertahun-tahun jika 10,9 adalah OS minimum yang didukung!
Mike Lischke
2
@GregParker Anda dapat memperbarui jawaban ini untuk Swift 2, apakah persyaratan runtime telah berubah atau belum?
Andrey Tarantsov
1
Target penyebaran yang didukung minimum untuk executable yang dibangun Swift tetap iOS 7.0 dan OSX 10.9. API yang tidak digunakan lagi di iOS 7 / OSX 10.9 atau sebelumnya tidak akan tersedia. Saat membangun, Swift hanya mendukung SDK yang dikirimkan bersama dalam Xcode.
Flash Sheridan
103

Apple telah mengumumkan bahwa aplikasi Swift akan kompatibel dengan iOS 7 dan OS X Mavericks. Aplikasi WWDC ditulis dalam bahasa Swift.

Ben Gottlieb
sumber
11
Benarkah WWDC ditulis dalam Swift ??
Satheeshwaran
7
Ya, aplikasi WWDCC ditulis dalam Swift. Seperti yang mereka katakan kemarin.
Shial
22
Jay Freeman mengklaim sebaliknya: twitter.com/saurik/status/473785847926374400
Ivan Vučica
2
Taktik pemasaran Apple adalah yang umum digunakan oleh bisnis. Windows ditulis dalam Majelis! Nah, hanya bootloader dan beberapa hal lain, tapi itu ditulis dalam perakitan.
Cole Johnson
4
@ IvanVučica tetapi 4 kelas sudah cukup untuk menjawab pertanyaan kompatibilitas.
ilya n.
100

Pembaruan - Sesuai Xcode 6 Beta 4

Target penyebaran minimum iOS 7 dan OS X 10.9

Compiler dan Xcode Swift sekarang memberlakukan target penyebaran minimum iOS 7 atau OS X Mavericks. Menetapkan target penempatan sebelumnya menghasilkan kegagalan build.

Dari catatan rilis Xcode 6

Jadi jawaban saya sebelumnya (Tampil di bawah) tidak akan berlaku untuk pengembangan lebih lanjut. Swift tidak lagi tersedia untuk iOS6 dan di bawahnya


Aplikasi Swift dapat dijalankan di iOS 6. Meskipun banyak orang mengatakan bahwa Swift hanya akan mendukung iOS 7+ dan OS X 10.9+, dari pengalaman saya bukan.

Saya telah menguji aplikasi sederhana yang ditulis sepenuhnya dalam Swift di perangkat iOS 6. Ini bekerja dengan sangat baik . Seperti yang dikatakan Apple, kode Swift kompatibel dengan biner dengan kode Objective-C. Ia menggunakan kompiler dan runtime yang sama untuk membuat biner.

Ini kode yang sudah saya uji:

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

Ini adalah aplikasi sederhana, hanya menambahkan tombol secara terprogram. Aplikasi saya hanya berisi dua file, AppDelegate.swiftdan ViewController.swift.

Jadi jika Anda tidak menggunakan API baru yang ditambahkan sebagai bagian dari iOS 8 SDK atau beberapa API khusus Swift (API yang sesuai tidak tersedia untuk Objective-C) aplikasi Anda akan bekerja dengan lancar di iOS 6 atau lebih baru (diuji dan bekerja), bahkan di iOS 5 (tidak diuji). Sebagian besar API di Swift hanyalah penggantian dari API Objective-C yang ada. Sebenarnya mereka sama dalam biner.

Catatan: Sesuai Xcode 6 beta 4 untuk target penyebaran aplikasi cepat harus iOS 7 atau OS X 10.9 (lihat pembaruan di atas). Jadi swift tidak lagi tersedia untuk iOS6 dan di bawahnya


Anil Varghese
sumber
Sama seperti pembaruan sistem sebelumnya, beberapa kerangka kerja / kelas dihentikan dan harus didukung secara kondisional.
Miriam H.
@TienDo Tidak perlu titik koma :) Bahkan jika Anda membuat kesalahan (ini tradisi) yang tidak akan menjadi masalah
Anil Varghese
3
Tetapi Anda masih bisa menggunakan titik koma jika Anda benar-benar menginginkannya. dua pernyataan dalam satu baris dipisahkan oleh tanda titik koma
PaulWoodIII
33

Secara singkat:

Aplikasi berbasis Swift dapat menargetkan kembali ke OS X Mavericks atau iOS 7 dengan aplikasi yang sama.

Bagaimana itu mungkin ?

Xcode menyematkan pustaka Swift runtime kecil dalam bundel aplikasi Anda . Karena perpustakaan tertanam, aplikasi Anda menggunakan versi Swift yang konsisten yang berjalan pada rilis OS masa lalu, sekarang, dan masa depan.

Mengapa saya harus mempercayai jawaban ini?

Karena saya tidak mengatakan jawaban ini seperti yang dikatakan seorang pria apel di twitter saya atau saya menulis halo dunia dan mengujinya.

Saya mengambilnya dari blog pengembang apel .

jadi kamu bisa percaya ini.

Durai Amuthan.H
sumber
2
"kecil" membutuhkan ~ 20 mb atau sesuatu. :)
BangOperator
1
Termasuk seluruh runtime dalam biner mungkin tampak sedikit membengkak, tetapi karena Swift masih belum sepenuhnya stabil, masuk akal bagi mereka untuk memungkinkan pengembang mengkompilasi ulang dengan versi baru Swift di waktu mereka sendiri, daripada memperbarui beberapa perpustakaan bersama dan merusak aplikasi semua orang. Setelah Swift stabil, saya berasumsi runtime akan disimpan di samping yang lainnya, di dylib di suatu tempat.
William T Froggard
@WilliamTFroggard - Ya harap begitu
Durai Amuthan.H
30

Swift menggunakan runtime yang sama dengan Objective-C dan bahkan dapat hidup Objective-C berdampingan dalam aplikasi yang sama (sesuai dengan keynote WWDC 2014).

Ini perlu diperiksa / diverifikasi menggunakan Xcode 6 dan SDK baru untuk menemukan jawaban akhir.

Chris Pietschmann
sumber
1
Sepertinya menggunakan Xcode Beta 6 akan memungkinkan Anda menjalankan aplikasi swift pada 10.9.3, tetapi saya tidak yakin seberapa jauh aplikasi swift akan dapat dijalankan, misal 10.7 atau 10.8?
John
22

Saya membaca semua jawaban yang mengatakan: Tidak, Swift tidak bekerja dengan kurang dari iOS 7. Tapi saya katakan YA , saya baru saja membuat proyek Swift yang berjalan di Xcode 5 dengan target penyebaran 6.0.

  • Saya baru saja membuat proyek demo di Xcode 6 BETA dengan bahasa pemrograman Swift yang dipilih.
  • Tutup Xcode 6 beta, dan saya membuka proyek demo ini di Xcode 5 dengan target penyebaran 6.0
  • Dan juga pilih simulator 6.1 .

Kemudian proyek itu berjalan dengan baik di simulator 6.1 . Saya MacOS X adalah 10.9.3 , jadi aku berkata ya, yang berjalan di lebih rendah dari iOS 7. dengan 10.9.3 Mac OS X .

Ini dia screenshot dari simulator:

Masukkan deskripsi gambar di sini

Ini juga demo

Nitin Gohel
sumber
3
Pertanyaan: Tanpa dukungan cepat bagaimana XCode-5 membangun sumber swift?
Subin Sebastian
Anda dapat melihat tangkapan layar simulatore :) saya tidak membuat tangkapan layar yang terpasang di atas di photoshop
Nitin Gohel
maksud saya, saya telah mengonversi aplikasi c objektif ke swift dan memiliki pelanggan yang ada di ios 6. Jadi, apakah aplikasi cepat akan berfungsi?
Maneesh Sharma
pertama Anda mencoba dengan kode demo jika itu berhasil maka ya itu pasti berfungsi
Nitin Gohel
20

Sementara kode menegaskan hal itu, Apple sendiri telah mengatakan bahwa Swift akan kompatibel pada iOS 7 dan Mavericks dalam keynote teknis mereka ( Keadaan platform , sesi 102, sekitar 34 menit 00 detik) di WWDC 2014 .

virindh
sumber
15

Aplikasi Swift didukung di iOS 7 dan di atasnya sebagaimana dinyatakan dalam catatan rilis Beta 4. iOS 6.0, 6.1, 7.0, 7.1, 8.0 di Xcode 6 Beta

Aplikasi Swift didukung pada platform OS X 10.9 dan di atasnya . OS X 10.4 hingga 10.10 di Target Penerapan. Saya telah menguji penargetan 10.5 hingga 10.10, dan berjalan pada 10.9.3

vladof81
sumber
1
Saya pikir berbagai target penyebaran belum tepat (XCode 6 adalah beta). Hanya karena Anda dapat memilih nilainya tidak berarti itu berfungsi. Saya mencoba dengan OSX 10.7 sebagai target dan tidak berhasil. Perhatikan juga bahwa konfirmasi otoritatif tentang platform telah diberikan di atas oleh Greg Parker.
Mike Lischke
@ Mike Lischke, sekali lagi, saya memiliki beberapa tes untuk mendukung argumen saya. Dan saya dapat menjalankan aplikasi OS X ketika saya memilih Deployment Target 10.7. Tapi saya sangat menghargai Anda telah membuka utas dukungan aplikasi OS X.
vladof81
Bagaimana Anda menjelaskan hasil saya? Dan bagaimana dengan apa yang ditulis Greg Parker? Saya akan sangat senang jika Swift Apps akan bekerja pada 10.7 tapi sejauh ini saya belum melihat contoh yang berfungsi. Tentu saja saya dapat menetapkan 10,7 sebagai target penyebaran juga, tetapi itu tidak membuat perbedaan. Aplikasi crahs.
Mike Lischke
@ Mike Lischke, apakah Anda menguji aplikasi iOS pada perangkat?
vladof81
1
Saya juga melihatnya dan menguji semua target penyebaran di Xcode 6 beta (sama dengan jawabannya). Bekerja dengan baik menggunakan 2 aplikasi pengujian yang berbeda.
ySiggen
14

Tampaknya aplikasi Swift tidak berjalan di OS X 10.7 . Saya baru saja membuat aplikasi GUI sederhana (tampilan, label, tombol) yang berfungsi dengan baik di Mavericks. SDK dasar diatur ke 10.9 dan target penyebaran ke 10.7. Saya menyalin aplikasi itu dari folder DerivedData ke mesin virtual 10.7 saya, dan macet saat memulai, tunjukkan kesalahan ini:

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
...

Namun pesan ini menjengkelkan, karena pasti ada perpustakaan CoreGraphics di VM ini. Aplikasi lain yang banyak menggunakan CoreGraphics berfungsi dengan baik.

Mike Lischke
sumber
14

Ini adalah postingan yang saya baca dari blog apple Swift, mungkin bisa membantu:

Kompatibilitas Aplikasi :

Jika Anda menulis aplikasi Swift, Anda dapat percaya bahwa aplikasi Anda akan berfungsi dengan baik di masa mendatang. Bahkan, Anda dapat menargetkan kembali ke OS X Mavericks atau iOS 7 dengan aplikasi yang sama. Ini dimungkinkan karena Xcode menyematkan pustaka runtime Swift kecil dalam bundel aplikasi Anda. Karena perpustakaan tertanam, aplikasi Anda menggunakan versi Swift yang konsisten yang berjalan pada rilis OS masa lalu, sekarang, dan masa depan.

Kompatibilitas dan Kerangka Kerja Biner:

Sementara kompatibilitas runtime aplikasi Anda dipastikan, bahasa Swift itu sendiri akan terus berkembang, dan antarmuka biner juga akan berubah. Agar aman, semua komponen aplikasi Anda harus dibangun dengan versi Xcode dan kompiler Swift yang sama untuk memastikan bahwa mereka bekerja bersama.

Ini berarti bahwa kerangka kerja perlu dikelola dengan hati-hati. Misalnya, jika proyek Anda menggunakan kerangka kerja untuk berbagi kode dengan ekstensi yang disematkan, Anda akan ingin membangun kerangka kerja, aplikasi, dan ekstensi bersama. Akan berbahaya untuk mengandalkan kerangka kerja biner yang menggunakan Swift - terutama dari pihak ketiga. Saat Swift berubah, kerangka kerja itu tidak akan kompatibel dengan aplikasi Anda yang lain. Ketika antarmuka biner stabil dalam satu atau dua tahun, runtime Swift akan menjadi bagian dari OS host dan batasan ini tidak akan ada lagi.

Yatheesha BL
sumber
12

Saya menguji menjalankan aplikasi tanpa tulang, berbasis Swift pada perangkat iPod Touch (3rd gen). Tampaknya aplikasi berbasis Swift tidak bekerja dengan iOS 5.x tetapi melakukan pekerjaan dengan iOS 6.x.

Inilah yang muncul di log debug ketika saya mencoba meluncurkan aplikasi uji dengan iOS 5.0.1:

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

Untuk iOS 6.1.6, aplikasi berjalan dengan baik tanpa menampilkan pesan kesalahan itu.

David H
sumber
12

Tampaknya ada banyak jawaban lama di sini jadi saya hanya ingin mengirim tanggapan resmi dari tim Swift. Swift kompatibel dengan OS X Mavericks dan iOS 7

Blog cepat pengembang Apple: Objective-C id sebagai Swift Any

11 Jul 2014

Kesesuaian

Salah satu pertanyaan paling umum yang kami dengar di WWDC adalah, "Apa kisah kompatibilitas untuk Swift?". Ini sepertinya topik pertama yang bagus.

Kompatibilitas Aplikasi Sederhananya, jika Anda menulis aplikasi Swift hari ini dan mengirimkannya ke App Store Musim Gugur ini ketika iOS 8 dan OS X Yosemite dirilis, Anda dapat percaya bahwa aplikasi Anda akan berfungsi dengan baik di masa mendatang. Bahkan, Anda dapat menargetkan kembali ke OS X Mavericks atau iOS 7 dengan aplikasi yang sama. Ini dimungkinkan karena Xcode menyematkan pustaka runtime Swift kecil dalam bundel aplikasi Anda. Karena perpustakaan tertanam, aplikasi Anda menggunakan versi Swift yang konsisten yang berjalan pada rilis OS masa lalu, sekarang, dan masa depan.

Oren
sumber
11

Saya juga mencoba aplikasi yang sangat sederhana pada 10.8 (satu tombol, mengatur teks pada label). Itu macet saat startup, seperti yang dikatakan Greg Parker:

Dyld Error Message:
  Symbol not found: __dispatch_source_type_memorypressure
  Referenced from: /Volumes/*/SwifTest.app/Contents/MacOS/../Frameworks/libswiftDispatch.dylib
  Expected in: /usr/lib/libSystem.B.dylib
in /Volumes/*/SwifTest.app/Contents/MacOS/../Frameworks/libswiftDispatch.dylib

(Ini menggunakan target penyebaran 10,7)

Valdar Moridin
sumber
10

Coba kode berikut:

Ini bekerja tanpa StoryBoard:

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
}
PREMKUMAR
sumber
Dan bagaimana cara menggunakan nav.rootviewcontroller ??
Allan
8

Ya, sebenarnya Apple telah mengumumkan bahwa aplikasi Swift akan kompatibel dengan iOS 7 dan OS X Mavericks. Selanjutnya aplikasi WWDC ditulis dalam bahasa pemrograman Swift.

Bodi Osman
sumber
8

Ketika datang ke Swift Frameworks. Adapun hari ini, dengan Xcode versi 6.1.1 (6A2008a), jika kerangka kerja Swift ditargetkan ke iOS 7.1, linker report warning

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

dan aplikasi tidak dapat dikirimkan ke AppStore. Periksa masalah ini: Lint untuk mencegah pustaka dan kerangka kerja dinamis lewat dengan iOS 7

Marcin
sumber
Swift Framework's Mach-O Typeharus Dynamic Library, bagaimanapun, iOS 7 Static LibraryHanya Menerima .
DawnSong
7

Pembaruan Cepat, efektif sejak 15 Februari 2015 , kami tidak dapat mengirimkan aplikasi ke toko yang dikembangkan menggunakan SDK sebelum iOS 8 . Jadi, mengingat hal itu, lebih baik untuk tidak khawatir tentang masalah ini karena banyak orang telah menyarankan bahwa aplikasi yang dibuat di Swift dapat digunakan untuk OS X 10.9 dan iOS 7.0 juga.

Hantu ke-13
sumber
Apakah Anda memberi kami sumber?
Binus
1
Ada perbedaan antara SDK Dasar dan Target Penerapan. Anda dapat memiliki Base SDK iOS 9 dan Target Penerapan iOS 7 dan kirim ke iTunes Connect. Turun karena Anda tidak menyediakan sumber.
Cœur
1
Dokumentasi Apple saat ini masih menyebutkan dukungan untuk iOS 4.3: developer.apple.com/library/content/documentation/IDEs/…
Cœur
1

Cuplikan kode yang dijawab oleh Leandros tampaknya agak lama. Saya telah memperbaiki dan membuatnya dapat dikompilasi di Swift 5.

Cepat 5

func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: NSDictionary?) -> Bool {
    self.window = UIWindow(frame: UIScreen.main.bounds)
    let controller = UIViewController()
    let view = UIView(frame: CGRect(x: 0, y: 0, width: 320, height: 568))
    view.backgroundColor = UIColor.red
    controller.view = view

    let label = UILabel(frame: CGRect(x: 0, y: 0, width: 200, height: 21))
    label.center = CGPoint(x: 160, y: 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
}
Sazzad Hissain Khan
sumber