[iOS 공부] 1. iOS개발자 등록 & Xcode 빌드 & Swift

김나경·2020년 12월 17일
0

iOS 공부

목록 보기
2/3
post-thumbnail

2020.12.17 진행내용

1 Apple에 개발자 등록
2 Xcode IDE 다운로드 및 계정 등록
3 Xcode IDE 깃허브 연결
4 Xcode 첫 빌드
5 Xcode iPhone과 연결
6 Swift 기본 문법 1
7 프로그래머스 level1 K번째 수





1 Apple에 개발자 등록

https://developer.apple.com 에서 개발자 등록

iOS개발을 위해서는 개발자로 등록을 해야한다. 사이트는 한국어 지원도 하지만, 몇몇 페이지는 영어로만 제공한다. 등록을 위해서는 연간 100달러를 지불해야한다. 진짜 개인이 내기에 너무 부담스럽다.

결제를 마쳤는데 벨로그에 올리려고 다시 접속해보니 Pending 되어있다. 원인을 알아봤더니 결제한 카드의 주소와 내가 구매과정에서 입력한 주소가 달라서 그렇다는데 해외결제는 너무 성가시다.

https://developer.apple.com/contact 이곳에서 '멤버십 및 계정' 클릭 > '계정에 접근하기' > '전화'를 하면 된다고 구글링에서 찾았다. 한국은 상담시간 Mon-Fri, 9:00-17:00 KST 라서,, 내일 전화해서 해결해봐야겠다.

다음날 그냥 됐다. 그냥 지연이었던듯


2 Xcode IDE 다운로드 및 계정 등록

Xcode를 Apple 개발자 홈페이지에서 받는 줄 알고 찾아다녔는데 아무리 찾아도 없어서 봤더니 AppStore에 있었다. ^^ 괜히 무슨,, Reality Converter 이런거 받아서 헛짓거리했다.

실행하면 다음과 같다. 안드로이드 스튜디오랑 상당히 유사하다.

단축키 Command + , 혹은 Xcode > Preferences.. 로 들어가면 Accounts에서 구입한 계정으로 등록할 수 있다. 밑에 Source Control Accounts의 깃허브 계정은 3에서 추가한 것.


3 Xcode IDE 깃허브 연결

Xcode와 깃허브를 미리 저장해둔다. 한동안은 공부하느라 프로젝트라 할만한걸 올릴순 없겠지만 기왕 셋팅하는 김에. 우선 위에서 계정을 추가했던 그 화면(Command+ , > Accounts) 에서 +를 클릭하면 깃허브 있으니 추가하면 된다.

깃 계정과 토큰이 필요한데 토근은 깃허브에 직접 가서 생성해야한다.
https://docs.github.com/en/free-pro-team@latest/github/authenticating-to-github/creating-a-personal-access-token 깃허브 공식문서 참고

리포지토리 생성, 클론, pull, fetch.. 등등은 다음에 실제 사용할 때 다시 포스팅할 예정.


4 Xcode 첫 빌드

오늘은 그냥 딱 프로젝트 만들기만 해서 빌드만 해볼 예정이다.
첫 화면에서 Create a new Xcode project를 하면

다음과 같은 화면이 나오는데 Xcode가 현재 버전 12.3으로 업데이트된지 얼마 안되었나보다. 온갖 포스팅과 튜토리얼 영상을 보았는데, 모두 'Single View App'으로 만들라는데 아무리봐도 Single View App이 없어서 봤더니 그냥 'App' 으로 바뀌었다고. 확실치는 않다. 무튼 iOS > App 을 누르고 Next 한다.

프로젝트 이름 작성하고, 선택하고, Organization Identifier도 적당히 작성해주고,,
1) Interface를 Storyboard로 설정,
2) Life Cycle은 UIKit App Delegate로 설정.
3) include Tests는 체크 풀어준다.
Next를 눌러 적당한 곳에 저장한다. Source Control은 체크하든 안하든 상관없다.

생성 후 화면, 안드로이드 스튜디오와 큰 구조는 비슷하다.
요소 분석은 다음에 하고, 크게 빨간 박스 친 것들을 보니 상단은 시뮬레이터 선택하는 부분, 좌측은 프로젝트 파일들, 가운데는 배포 버전 설정이다. 이 정도만 보고 끝!


5 Xcode iPhone 연결

맥에서 시뮬레이터로 돌려봤는데 정말 말도 안되게 느려서 (안그래도 연결할거였지만) 내 아이폰을 연결해서 빌드했다. 맥에 폰을 연결한 뒤 바로 위 캡쳐에서 상단 빨간박스를 클릭하면 Unavailable Device로 뜨는데, 이건 배포버전과 연결한 디바이스의 버전이 맞지 않아서이다. 내 아이폰의 버전은 iOS14.2로 바로 위 캡쳐 가운데 빨간박스에서 OS 버전을 맞춰줬다.

그러면 이렇게 이렇게 디바이스가 뜨고, ▶️를 눌러 빌드한다.

그럼 다음과같이 앱에서 보이고 실행하면 아무것도 없으므로 흰 화면만 보인다.


6 Swift 기본 문법 1

언어 공부는 예제를 많이 실행해보면서 터득하는 편인데, Xcode는 iOS IDE다 보니 자잘한 문법 예제를 실행하긴 별로고.. (안드로이드 스튜디오로 자바 공부하기엔 너무 효율 떨어지는 것처럼..) 이러저러 디버거 찾아보다가 결국 Swift Playground를 다운받아 알아보는 중이다. Playground에서 간단한 코드 써서 돌려보니 말도 안되게 느려서 무슨,, 조치가 필요할 듯. 오늘은 잘 정리된 글을 찾아 기본 문법들을 훑어보았다. 프로그래머스 코테 Level 1~2 정도 수준을 풀면서 그때 그때 정리해서 올리는 걸로.

(참고한 사이트)
문법 : https://docs.swift.org/swift-book/LanguageGuide/TheBasics.html
https://batterflyyin.tistory.com/19?category=845170
공식문서로 배우기 : https://sungdoo.dev/programming/start-ios-development-with-offical-docs/
링크 모음 : https://zeddios.tistory.com/162


7 프로그래머스 level1 K번째 수

문제 : https://programmers.co.kr/learn/courses/30/lessons/42748

코드

import Foundation


func solution(_ array:[Int], _ commands:[[Int]]) -> [Int] {
    
    var cutArray = [Int]()
    var answerArray = [Int]()
    
    for n in 0...commands.count-1{
        for k in commands[n][0]-1 ... commands[n][1]-1{
            cutArray.append(array[k])
        }
        cutArray.sort(by: <)
        answerArray.append(cutArray[commands[n][2]-1])
        cutArray.removeAll()
    }
    
    return answerArray
}

Primitive 자료형, var, let, for문, func, Array 정도의 개념까지 정리됨.

profile
develog

0개의 댓글