Swift 기반 애플리케이션이 OS X 10.9 / iOS 7 이하에서 작동합니까?


616

Swift 기반 애플리케이션은 OS X 10.9 (Mavericks) / iOS 7 이하에서 작동합니까?

예를 들어 OS X 10.8 (Mountain Lion)을 실행하는 컴퓨터가 있는데 Swift로 작성한 응용 프로그램이 실행 될지 궁금합니다.

아니면 Mac OS를 사용하여 Swift 응용 프로그램을 작성해야합니까?


51
Swift가 "일반"실행 파일로 컴파일되고 OS에 Swift 특정 런타임 라이브러리가 필요하지 않다고 가정하면 예, 이전 시스템에서 실행해야합니다. 우리는 아직 모른다. Xcode 6을 다운로드하여 사용해보십시오.
rmaddy 2016 년

12
공식 답변은 Union of the State 비디오에서 찾을 수 있습니다.
Steven Fisher

3
@rmaddy FWIW : WWDC의 Swift 프레젠테이션에서 Swift와 Objective-C의 런타임이 동일하다는 것이 가장 분명하게 언급되었습니다.
11684

1
그것은 공개 지식이며 심지어 그 운영 체제에서 실행된다는 기조 연설에서도 언급되었습니다.
rhummelmose

3
이 질문은 둘러보기 페이지 에서 예로 사용 된 질문입니다 .
Donald Duck

답변:


520

방금 테스트 한 결과 Swift 응용 프로그램은 표준 바이너리로 컴파일되며 OS X 10.9 및 iOS 7에서 실행될 수 있습니다.


테스트에 사용되는 간단한 스위프트 애플리케이션 :

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
}

13
stackoverflow.com/questions/24007050/…을 참조하십시오 -이 답변과 충돌합니다 (적어도 "또는 더 낮은"부분).
rmaddy

14
iOS 7.0 및 OS X 10.9 만 테스트했습니다. 답변에서 말했듯이.
Leandros

@Leandros var 키워드를 사용하여 "var controller : UIViewController = UIViewController ()"줄에 UIViewController를 두 번 입력해야하는 이유는 무엇입니까? var는 JavaScript / C #과 같지 않습니까 (아니라면 슬플 경우) 이 캐스팅이지만 객체 유형이 등호 양쪽에서 동일합니까?
Tien Do

3
@TienDo Swift 경험이 없지만 UIViewController콜론 뒤 의 첫 번째 변수가 변수 유형을 나타내고 =기호가 생성자를 호출 한 후 두 번째 발생 이라고 가정합니다 (변수를 초기화합니다).
ComFreek

2
iOS의 경우 : Xcode 6 베타에는 iOS 6까지의 배포 대상이 있습니다. 모두 테스트하여 발견했습니다. 같은 말을하는 답이 있습니다.
ySiggen

197

스위프트 코드는 OS X 10.9 및 iOS 7.0에 배포 할 수 있습니다. 이전 OS 버전에서 시작하면 일반적으로 충돌합니다.


4
그렉, 질문에 답해 주셔서 감사합니다. Swift에서 생성 된 코드를 실행할 수 있도록 10.8-> 10.9 및 6.x-> 7.0 변경 사항에 대해 조금 말씀해 주시겠습니까?
Ivan Vučica

20
Swift는 Objective-C 메타 데이터의 일부 비트를 설정하여 Swift 클래스를 표시합니다. OS X 10.9 및 iOS 7.0의 libobjc는 Swift의 도착을 대비하여 이러한 비트를 무시하도록 변경되었습니다. 이전 OS 버전은이 비트들과 혼동 될 것입니다.
Greg Parker

9
나는 것 훨씬 애플 스위프트 (OSX 10.7 이후에서 적어도) 너무 오래된 플랫폼에서 앱의 작동하게 고려한다면 주셔서 감사합니다. 그 이유는이 OS를 사용하는 고객이 여전히 많기 때문에 10.9가 지원되는 최소 OS 인 경우 몇 년 동안 Swift로 개발을 시작할 수 없습니다!
Mike Lischke

2
@GregParker 런타임 요구 사항이 변경되었는지 여부에 관계없이 Swift 2에 대한이 답변을 업데이트 할 수 있습니까?
Andrey Tarantsov

1
Swift 빌드 실행 파일에 대해 지원되는 최소 배포 대상은 iOS 7.0 및 OSX 10.9로 유지됩니다. iOS 7 / OSX 10.9 이하에서 더 이상 사용되지 않는 API는 사용할 수 없습니다. 빌드 할 때 Swift는 Xcode와 함께 제공되는 SDK 만 지원합니다.
플래시 셰리 던

103

애플은 스위프트 앱이 iOS 7 및 OS X Mavericks와 호환 될 것이라고 발표했다. WWDC 앱은 Swift로 작성되었습니다.


11
정말 WWDC는 스위프트로 작성되었습니다 ??
Satheeshwaran 2016 년

7
예, WWDCC 앱은 Swift로 작성되었습니다. 그들이 어제 말했듯이
Shial

22

2
애플의 마케팅 전략은 기업이 일반적으로 사용하는 전략입니다. Windows는 의회에서 작성되었습니다! 글쎄, 부트 로더와 다른 것들 만 있지만 어셈블리 작성되었습니다.
Cole Johnson

4
@ IvanVučica 그러나 4 클래스는 호환성 질문에 대답하기에 충분합니다.
ilya n.

100

업데이트-Xcode 6 Beta 4에 따라

iOS 7 및 OS X 10.9 최소 배포 대상

Swift 컴파일러와 Xcode는 이제 iOS 7 또는 OS X Mavericks의 최소 배포 대상을 시행합니다. 이전 배포 대상을 설정하면 빌드가 실패합니다.

Xcode 6 릴리스 노트에서

따라서 이전 답변 (아래 참조)은 더 이상 개발에 적용되지 않습니다. iOS6 이하에서는 더 이상 스위프트를 사용할 수 없습니다.


스위프트 응용 프로그램은 iOS 6에서 실행할 수 있습니다. 많은 사람들이 스위프트가 iOS 7 이상과 OS X 10.9 이상 만 지원한다고 말하지만 내 경험으로는 그렇지 않습니다.

iOS 6 장치에서 Swift로 완전히 작성된 간단한 응용 프로그램을 테스트했습니다. 완벽하게 작동합니다 . Apple이 말했듯이 Swift 코드는 Objective-C 코드와 이진 호환됩니다. 바이너리를 만들기 위해 동일한 컴파일러와 런타임을 사용합니다.

테스트 한 코드는 다음과 같습니다.

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 SDK 또는 일부 Swift 특정 API의 일부로 추가 된 새로운 API를 사용하지 않으면 (대응 API를 Objective-C에 사용할 수 없음) 응용 프로그램이 iOS 6 이상 (테스트 및 작동)에서 원활하게 작동합니다. iOS 5 (테스트되지 않음) Swift의 대부분의 API는 기존 Objective-C API를 대체하는 것입니다. 실제로 그들은 이진에서 동일합니다.

참고 : 신속한 응용 프로그램 배포 대상 Xcode 6 베타 4에 따르면 iOS 7 또는 OS X 10.9 (위의 업데이트 참조) 여야합니다. 따라서 iOS6 이하에서는 더 이상 swift를 사용할 수 없습니다.



이전 시스템 업데이트와 마찬가지로 일부 프레임 워크 / 클래스는 중단되어 조건부 지원이 필요합니다.
Miriam H.

세미콜론의 @TienDo 없음 필요 : 당신은 문제가 실 거예요 실수 (그 전통)에 의해 넣어하더라도
아닐 Varghese

3
그러나 정말로 원한다면 세미콜론을 계속 사용할 수 있습니다. 한 줄의 두 문장은 세미콜론으로 구분
PaulWoodIII

33

간단히 :

Swift 기반 애플리케이션은 동일한 앱을 사용 하여 OS X Mavericks 또는 iOS 7 을 대상으로 다시 지정할 수 있습니다.

그게 어떻게 가능해 ?

Xcode는 앱 번들 내에 작은 Swift 런타임 라이브러리를 포함합니다 . 라이브러리가 내장되어 있기 때문에 앱은 과거, 현재 및 향후 OS 릴리스에서 실행되는 일관된 Swift 버전을 사용합니다.

이 답변을 왜 신뢰해야합니까?

한 애플 녀석이 트위터에서 나에게 말했거나 안녕하세요 세계를 작성하고 테스트했을 때이 대답을 말하지 않기 때문입니다.

애플 개발자 블로그 에서 가져 왔습니다 .

믿을 수 있습니다.


2
"작은"은 ~ 20 mb 또는 무언가를 요구합니다. :)
BangOperator

1
바이너리에 전체 런타임을 포함시키는 것은 약간 부풀어 보일 수 있지만 Swift는 여전히 안정적이지 않기 때문에 개발자가 공유 라이브러리를 업데이트하지 않고 자신의 시간에 새로운 버전의 Swift로 다시 컴파일 할 수 있도록하는 것이 합리적입니다. 모든 사람의 앱을 깨뜨립니다. Swift가 안정화되면 런타임이 다른 곳과 함께 dylib에 저장된다고 가정합니다.
William T Froggard

@WilliamTFroggard - 네, 그래서 희망
Durai Amuthan.H

30

Swift는 Objective-C 와 동일한 런타임을 사용하며 WWDC 2014 기조에 따라 동일한 응용 프로그램에서 나란히 Objective-C를 사용할 수도 있습니다.

최종 답변을 찾으려면 Xcode 6 및 새로운 SDK를 사용하여 확인 / 확인해야합니다 .


1
Xcode Beta 6을 사용하면 10.9.3에서 빠른 앱을 실행할 수 있지만 빠른 앱이 10.7 또는 10.8과 같이 얼마나 멀리 실행될 수 있는지 잘 모르겠습니다.
John

22

아니오, Swift는 iOS 7 이하에서 작동하지 않습니다. 그러나 YES 라고 말했습니다 . 6.0 배포 대상으로 Xcode 5에서 실행되는 Swift 프로젝트를 방금 만들었습니다.

  • Swift 프로그래밍 언어가 선택된 Xcode 6 BETA 로 데모 프로젝트를 만듭니다 .
  • Xcode 6 베타를 닫고 배포 대상 6.0이있는 Xcode 5 에서이 데모 프로젝트를 엽니 다.
  • 또한 시뮬레이터 6.1을 선택하십시오 .

그런 다음 해당 프로젝트는 시뮬레이터 6.1 에서 잘 실행됩니다 . 내 MacOS X는 10.9.3 이므로 iOS 7 보다 10.9.3 Mac OS X 보다 낮습니다 .

다음은 시뮬레이터의 스크린 샷입니다.

여기에 이미지 설명을 입력하십시오

여기 데모도 있습니다


3
질문 : XCode-5가 신속한 소스를 구축하는 방법에 대한 신속한 지원이 없는가?
Subin Sebastian

당신은 simulatore 스크린 샷을 볼 수 있습니다 :) 나는 포토샵에서 위의 첨부 스크린 샷을 만들지 않았습니다
Nitin Gohel

나는 객관적인 c 앱을 신속하게 변환하고 iOS 6에있는 고객을 보유하고 있음을 의미합니다. 신속한 응용 프로그램이 작동합니까?
Maneesh Sharma

먼저 데모 코드로 시도해보십시오. 그렇다면 코드가 작동합니다.
Nitin Gohel

20

코드가 그것을 확인하는 동안, 애플 자체는 Swift가 WWDC 2014 에서 기술 기조 연설 ( 플랫폼 상태 , 세션 102, 약 34 분 00 초)에서 iOS 7 및 Mavericks에서 호환 될 것이라고 밝혔다 .


15

스위프트 응용 프로그램은 베타 4 릴리스 정보에 명시된대로 iOS 7 이상 에서 지원됩니다 . Xcode 6 베타의 iOS 6.0, 6.1, 7.0, 7.1, 8.0

스위프트 응용 프로그램은 OS X 10.9 이상 플랫폼에서 지원됩니다 . 배포 대상의 OS X 10.4 ~ 10.10 10.5에서 10.10을 타겟팅하고 10.9.3에서 실행하는 테스트를 거쳤습니다.


1
다양한 배포 대상이 아직 정확하지 않다고 생각합니다 (XCode 6은 베타 버전입니다). 값을 선택할 수 있다고해서 효과가있는 것은 아닙니다. OSX 10.7을 대상으로 시도했지만 작동 하지 않았습니다 . 또한 플랫폼에 대한 승인 확인은 Greg Parker에 의해 제공되었습니다.
Mike Lischke

@Mike Lischke, 다시 말하지만, 나는 논쟁을 뒷받침하는 몇 가지 테스트를 받았습니다. Deployment Target 10.7을 선택하면 OS X 앱을 실행할 수 있습니다. 그러나 OS X 앱 지원 스레드를 가져 주셔서 감사합니다.
vladof81 2016 년

그러면 내 결과를 어떻게 설명합니까? 그리고 그렉 파커가 쓴 것은 어떻습니까? Swift Apps가 10.7에서 작동한다면 매우 기뻤지 만 지금까지는 실례를 보았습니다. 물론 배포 대상으로 10.7을 설정할 수도 있지만 차이는 없습니다. 응용 프로그램 crahs.
Mike Lischke

@Mike Lischke, 기기에서 iOS 앱을 테스트 했습니까?
vladof81

1
또한 Xcode 6 베타의 모든 배포 대상을 확인하고 답변과 동일하게 테스트했습니다. 두 가지 테스트 응용 프로그램을 사용하여 정상적으로 작동했습니다.
ySiggen

14

Swift 응용 프로그램 OS X 10.7 에서 실행 되지 않는 것 같습니다 . Mavericks에서 잘 실행되는 간단한 GUI 응용 프로그램 (보기, lable, 버튼)을 만들었습니다. 기본 SDK는 10.9로, 배포 대상은 10.7로 설정되어 있습니다. 해당 응용 프로그램을 DerivedData 폴더에서 내 10.7 가상 머신으로 복사했는데 시작시 충돌이 발생합니다.이 오류를 표시하십시오.

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

그러나이 VM에는 CoreGraphics 라이브러리가 있기 때문에이 메시지는 자극적입니다. CoreGraphics를 많이 사용하는 다른 응용 프로그램은 제대로 작동합니다.


14

이것은 Apple Swift 블로그에서 읽은 게시물입니다.

앱 호환성 :

Swift 앱을 작성하면 앱이 미래에도 잘 작동 할 것이라고 믿을 수 있습니다. 실제로 동일한 앱을 사용 하여 OS X Mavericks 또는 iOS 7 을 다시 대상으로 지정할 수 있습니다. Xcode는 작은 Swift 런타임 라이브러리를 앱 번들 내에 포함하기 때문에 가능합니다. 라이브러리가 내장되어 있기 때문에 앱은 과거, 현재 및 향후 OS 릴리스에서 실행되는 일관된 Swift 버전을 사용합니다.

이진 호환성 및 프레임 워크 :

앱의 런타임 호환성이 보장되는 동안 Swift 언어 자체는 계속 발전하고 바이너리 인터페이스도 변경됩니다. 안전을 위해 앱의 모든 구성 요소는 동일한 버전의 Xcode 및 Swift 컴파일러를 사용하여 함께 작동해야합니다.

즉, 프레임 워크를 신중하게 관리해야합니다. 예를 들어 프로젝트에서 프레임 워크를 사용하여 포함 된 확장과 코드를 공유하는 경우 프레임 워크, 앱 및 확장을 함께 빌드하려고합니다. Swift를 사용하는 바이너리 프레임 워크 (특히 타사의)에 의존하는 것은 위험합니다. Swift가 변경되면 해당 프레임 워크는 나머지 앱과 호환되지 않습니다. 이진 인터페이스가 1 년 또는 2 년 안에 안정화되면 Swift 런타임은 호스트 OS의 일부가되고이 제한은 더 이상 존재하지 않습니다.


12

iPod Touch (3 세대) 장치에서 베어 본 Swift 기반 응용 프로그램을 실행하는 것을 테스트했습니다. Swift 기반 앱 iOS 5.x에서는 작동 하지 않지만 iOS 6.x 에서는 작동합니다.

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

iOS 6.1.6의 경우 앱은 해당 오류 메시지를 표시하지 않고 정상적으로 실행됩니다.


12

여기에 많은 오래된 답변이있는 것 같아서 Swift 팀의 공식 답변을 게시하고 싶었습니다. Swift는 OS X Mavericks 및 iOS 7과 호환됩니다

Apple 개발자 빠른 블로그 : Swift Any로서의 Objective-C id

2014 년 7 월 11 일

적합성

WWDC에서들은 가장 일반적인 질문 중 하나는“Swift의 호환성 이야기는 무엇입니까?”였습니다. 이것은 훌륭한 첫 번째 주제처럼 보입니다.

앱 호환성 간단히 말해, iOS 8 및 OS X Yosemite가 출시 될 때 오늘 Swift 앱을 작성하여 올 가을에 App Store에 제출하면 앱이 미래에도 잘 작동 할 것이라고 믿을 수 있습니다. 실제로 동일한 앱을 사용하여 OS X Mavericks 또는 iOS 7을 다시 대상으로 지정할 수 있습니다. Xcode는 작은 Swift 런타임 라이브러리를 앱 번들 내에 포함하기 때문에 가능합니다. 라이브러리가 내장되어 있기 때문에 앱은 과거, 현재 및 향후 OS 릴리스에서 실행되는 일관된 Swift 버전을 사용합니다.


11

나는 또한 10.8 (단 하나의 버튼, 레이블에 텍스트를 설정)에서 매우 간단한 응용 프로그램을 시도했습니다. 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

(이것은 10.7의 배포 대상을 사용하고있었습니다)


10

다음 코드를 시도하십시오.

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
}

그리고 nav.rootviewcontroller를 사용하는 방법 ??
Allan

8

예, 사실 Apple은 Swift 앱이 iOS 7 및 OS X Mavericks와 호환된다고 발표했습니다. 또한 WWDC 앱은 Swift 프로그래밍 언어로 작성되었습니다.


8

Swift Frameworks와 관련하여 현재 Xcode 버전 6.1.1 (6A2008a)에서 Swift 프레임 워크가 iOS 7.1을 대상으로하는 경우 링커 보고서 경고

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

응용 프로그램은 AppStore에 제출할 수 없습니다. 이 문제를 확인하십시오. Lint는 동적 라이브러리 및 프레임 워크가 iOS 7과 함께 전달되지 않도록합니다.


Swift Framework는 Mach-O Type이어야 Dynamic Library하지만 iOS 7은 Static LibraryOnly를 허용 합니다.
DawnSong

7

빠른 업데이트는 2015 년 2 월 15 일 부터 iOS 8 이전SDK를 사용하여 개발 된 스토어에 앱을 제출할 수 없습니다 . 따라서 많은 사람들이 Swift에서 만든 앱을 OS X 10.9 및 iOS 7.0 에도 배포 할 수 있다고 제안 했으므로이 문제를 염두에 두지 않는 것이 좋습니다 .


소스를 제공해 주시겠습니까?
Binus

1
기본 SDK와 배포 대상에는 차이가 있습니다. iOS 9 의 기본 SDK 와 iOS 7 의 배포 대상 을 가지고 iTunes Connect에 제출할 수 있습니다. 소스를 제공하지 않았기 때문에 다운 보팅
Cœur

1
현재 Apple 설명서에는 여전히 iOS 4.3 지원에 대한 언급이 있습니다 : developer.apple.com/library/content/documentation/IDEs/…
Cœur

1

응답 코드 스 니펫Leandros가 게시 한 은 약간 오래된 것 같습니다. Swift 5에서 수정하고 컴파일 가능하게 만들었습니다.

스위프트 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
}
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.