사실 Xcode는 Swift만 할 수 있는게 아니라 Objective C, C, C++은 물론 Python 등 다양한 언어를 지원하는 IDE입니다.

하지만.... Java는 Eclipse, Python은 Jupyter lab, Pycharm, IntelliJ 등을 주로 사용하기 때문에 Xcode로는 하지 않는 것 같습니다만..

 

무튼! 그동안 Xcode로 Playground만 했는데 드디어 Xcode project를 띄워봤습니다.

Welcome to Xcode~~~

 

드디어 두 번째에 있는 'Xcode project'를 실행합니다.

 

그 중에서 우리는 'iOS' 탬플릿으로 가서 'Single View App'으로 가서 시작을 합니다.

 

해당 항목이 의미하는게 뭔지 잘 모르겠으면 마우스 포인터를 올려두고 잠시 기다리면 설명이 나옵니다.

이런식으로 입력하고, 우리는 'Swift', 'Storyboard'를 선택합니다. 아래 Core Data나 Include~~ 는 아직 사용하지 않기 때문에 포함하지 않아도 무관합니다.

 

적당히 폴더 위치를 잡아주고 'Create'를 눌러줍니다. (Git은 필요한 경우만 체크하면 됩니다.)

 

'Main.storyboard'화면입니다. 위에 빨간 네모 박스에서 부팅할 iPhone을 바꿀 수 있습니다.

 

단축키 Command(⌘) + Option(⌥) + Control(⌃) + return(⏎) 을 누르면 이렇게 'Main.storyboard'와 'ViewController.swift'를 함께 볼 수 있습니다.

 

 

 

우측 상단에 있는 '+' 모양으로 생긴 Library 버튼을 누릅니다. (빨간 박스로 체크해둔 부분)

 

다양한 것들이 나옵니다. 이 중 'Label'을 마우스 왼쪽 버튼을 눌러 아이폰 화면 위에 끌어다 놓습니다.

 

'Lable'을 누르고 원하는 글씨를 입력해줍니다.

마우스로 박스 크기를 조절할 수 있으며, 'Label'을 선택하면, 화면 우측에 'Label'의 상세한 속성을 정할 수 있도록 해줍니다.

글씨 크기도 조절할 수 있으며, 정렬 옵션도 가능합니다.

 

혹시라도 이 화면이 안 나온다면, 우측 상단에서 열어주면 됩니다.

 

이번에는 동일한 방법으로 'Button'을 아이폰 화면 위로 끌어옵니다.

 

마찬가지로 버튼 이름을 적당히 적어줍니다. (버튼 사이즈나 폰트 크기도 조절 가능합니다.)

 

그 다음, 이 버튼을 마우스 오른쪽 버튼을 클릭한 상대로 드래그 해서 우측 'ViewController.swift' 코드 위로 끌어다 놓습니다.

 

 

그리고 버튼의 이름을 적어주고 'Connect'를 누르면

 

자동으로 버튼 코드가 입력됩니다!!!

 

    @IBAction func testBtn(_ sender: Any) {
        print("Hello world")
    }

이제 버튼에 print("Hello world")를 입력해줍니다.

그 다음 Command + 'R' 을 눌러 실행해봅니다. (처음 실행시는 아이폰을 부팅하기 때문에 시간이 조금 소요됩니다.)

아이폰이 부팅중입니다.

 

네 드디어 아이폰이 화면 위에 가상 OS로써 부팅되었습니다. 이제 우리가 만들었던 버튼을 클릭해봅니다.

 

버튼을 누를 때마다 'ViewController.swift' 화면 하단 콘솔에 'Hello world'가 입력되는 것을 확인할 수 있습니다!!

 

 

이번에는, 'Label' 마우스 오른쪽 버튼을 클릭한 상대로 드래그 해서 우측 'ViewController.swift' 코드 위로 끌어다 놓습니다.

 

 

이름을 정해줍니다.

 

그러면 이렇게 자동으로 해당 'Label'이 변수로 생성됩니다!!!

 

이번에는 버튼에 다른 기능을 넣어보겠습니다.

print() 아래에 아래와 같이 추가합니다.

    @IBAction func testBtn(_ sender: Any) {
        print("Hello world")
        myLabel.text = "열심히 공부합시다."
    }

 

그러면 전체 코드는 다음과 같습니다.

import UIKit

class ViewController: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view.
    }

    
    @IBOutlet weak var myLabel: UILabel!
    
    
    
    @IBAction func testBtn(_ sender: Any) {
        print("Hello world")
        myLabel.text = "열심히 공부합시다."
    }
    
}

 

다시 Command + 'R' 을 눌러 실행해봅니다.

이미 실행중인게 있어서 중단할거냐고 물어봅니다. 'Do not show this message again'을 체크하면 다음부턴 다시 물어보지 않습니다. 체크한 다음 'Stop'을 누르면 실행중인 아이폰을 정지시키고 다시 실행합니다. (이미 아이폰이 부팅된 상태이기 때문에 두 번째 부터는 빠르게 실행됩니다.)

 

다시 한 번 버튼을 누르면 콘솔에는 'Hello world'가 출력되고, 'Label'의 text가 입력한 문구로 바뀌는 것을 볼 수 있습니다.

 

 

 

 

cf.

이 가상 OS로 부팅된 아이폰은 실제 아이폰과 '거의'동일합니다. 

해당 버튼들은 모두 눌러집니다.

스크린 샷을 제외하면 다 작동하는 것 같습니다.(이건 어디 저장되는지 모르겠네요... 아이폰 안에도, 맥에도 저장이 안 됩니다.)

홈버튼, 회전, 진동, 볼륨, 전원 모든 버튼이 눌러집니다.

 

심지어 쓸어올리기도 작동합니다.

 

홈 화면에서 'Safari'를 통해 웹서핑도 가능합니다. 그냥 아이폰이네요.... 약간 제한적인 아이폰.........

 

 

 

와우 아이패드 프로 4세대를 사용할 수도 있네요!!  ฅ◕ᴥ◕ฅ 

+ Recent posts