꽤 오래전에 짰었던 코드인데 지금 보면 잘 모르겠는... 그런 코드가 종종 있지 않나요. 저는 종종 있었어요ㅎㅎ(자랑) 또 협업을 할 때 제가 짠 코드를 남이 이해하기 어려워 저한테 직접 여쭤보는 경우도 있었어요. (혼자서만 이해하기 쉽게 짜서 다른 분들이 볼 때는 이해하기 어려웠나봐요.) 여하튼 그때 Xcode의 퀵헬프를 알게 되었고 그 후로 아주 적극적으로 사용하게 되었습니다. 그래서 오늘 유용하게 쓰이는 Xcode 퀵헬프를 포스팅해보려 합니다. 변수, 상수, 클래스, 메서드, 함수, 열거형 등에 마크업 형식에 따라 주석을 작성하면 퀵헬프를 통해 작성했던 주석들을 확인할 수 있습니다. 협업에도 나에게도 아주 좋은 기능이라고 생각 들어요. 두 가지 방법으로 퀵헬프를 만들 수 있는데요. 먼저, 퀵헬프를 ..
시뮬레이터 전문가가 되어보자. 시뮬레이터는 개발자 경험을 강화하고 좋은 앱을 만드는 데 어떻게 도움이 되는지 이야기합니다. 시뮬레이터가 무엇이고 무엇을 할 수 있는지 말할 것입니다. 시뮬레이터를 사용하면 맥에서 iOS, iPadOS, TVOS 그리고 watchOS의 앱을 테스트할 수 있습니다. 시뮬레이터는 Xcode에 내장되어 있어서 실제로 기기가 없어도 앱을 실행할 수 있고 테스트 가능합니다. 여기 두 가지의 시뮬레이터가 부팅되어있습니다. iOS14를 실행하는 아이폰 11과 아이패드 프로입니다. 시뮬레이터 위 타이틀을 통해서 실행 중인 OS의 장치 이름과 버전을 확인할 수 있습니다. Xcode12에서는 시뮬레이터에서 스크린 샷을 찍는 것이 향상되었습니다. 스크린 샷 버튼을 클릭하면 찍힌 스크린 샷이 옆..
isKindOfClass는 해당 클래스의 인스턴스인지 또는 해당 클래스에서 상속된 클래스 인스턴스인지 확인할 때 사용합니다. YES, NO인 부울 값을 리턴해줍니다. 아래와 같이 선언되어 있습니다. - (BOOL)isKindOfClass:(Class)aClass; 파라미터 aClass는 검사할 Objective-C 클래스를 나타내는 클래스 오브젝트입니다. aClass 해당 클래스이거나 상속받은 클래스 인스턴스면 YES를 리턴하고, 아니면 NO를 리턴합니다. 예를 들어서 아래의 코드는 YES를 리턴합니다. Foundation에서 NSArchiver클래스는 NSCoder을 상속받기 때문입니다. NSMutableData *myData = [NSMutableData dataWithCapacity:30]; id ..
프로젝트를 생성할 때 User Interface를 SwiftUI로 지정하면 ContentView가 생성됩니다. ContentView.swift를 살펴보면 View를 상속받은 ContentView구조체가 있습니다. 앱이 시작되면, 윈도우는 ContentView.swift에 정의된 ContentView의 인스턴스를 보여줍니다. 그리고 아래에는 PreviewProvider을 상속받은 ContentView_Previews구조체가 있습니다. PreviewProvider은 엑스코드에서 뷰 미리보기를 제공하는 타입 프로토콜입니다. 만약에 이 코드가 없다면 당연히 캔버에는 아무것도 나타나지 않습니다. 디폴트로 제공하는 프리뷰 구조체를 수정해보면 더 나은 프리뷰를 이용할 수 있습니다. 다크 모드로 사용하려면 아래와 같이..
재택근무가 장기화되고 있네요. 저는 항상 아카이빙을 할 때 핸드폰 기기를 통해 아카이빙을 했었던 지라 시뮬레이터로 할 수 있었는지 궁금했는데 할 수 있다고 하더라고요 - 띠용 그래서 어떻게 하는지 알아보겠습니다. 과연 핸드폰 없이 아카이빙 하는 방법은 Xcode에서 Product탭을 클릭해줍니다. 그럼 아래와 같이 Run, Test, Profile 등등 나오죠. 제가 원하는 건 Archive입니다. 하지만 지금은 시뮬레이터를 선택해놓은지라 위와 같이 Archive탭이 활성화되어 있지 않습니다. 그럴 땐 기기 선택하는 창으로 와서 Build Only Device섹션 보이시나요 망치 모양 🔨(방향은 반대..) 이걸 선택해주세요. 그리고 다시 Product를 눌러보시면 오 마이 갓 아카이브 탭이 '활성화'된 ..
다국어(localization지역화) 처리를 할 때 시뮬레이터로 언어와 지역을 설정하면 훨씬 더 수월하게 처리할 수 있습니다. 먼저 시뮬레이터를 켜주세요 😊 시뮬레이터에서 각 앱들이 영어로 뜨는 이유는 - 디폴트로 시뮬레이터 언어는 영어로 지역은 미국으로 세팅되어 있기 때문입니다. 여기서 Settings으로 들어와 줍니다. 설정 앱이죠 :-) 설정에 들어오면 General를 탭 해주세요. 들어오시면 Language & Region을 탭 해주세요. 아까 시뮬레이터는 디폴트로 언어는 영어 지역으로는 미국이라 했죠. 보시다시피 iPhone Language에 English Region은 United States로 설정되어 있음을 확인할 수 있습니다. 여기서 우리는 지역을 미국에서 한국으로 변경해줘야 합니다. R..
트러블 슈팅 까진 아니고... 언제부터인가 Welcome to Xcode화면을 보지 못했다. 내가 뭐 잘못 누른 건지 뭔지 모르겠는데 시작화면 있을 때가 편리했는데 :( 시작화면이 안뜨니 상단 탭에서 프로젝트 생성하고 세상 불편. (시작화면 = Welcome to Xcode화면) 시작화면을 띄우기 위해서는 Window탭에서 Welcome to Xcode를 눌러주면 된다. shift + command + 1 단축키로도 띄울 수 있다. 여기서 welcome to xcode를 눌러주면 아래와 같이 시작화면이 뜬다. 사실 여기서 최근에 한 프로젝트들이 오른쪽에 쭉 나오는데 이 기능을 가장 많이 사용했다. 또한 새로운 프로젝트 생성하기도 메뉴로 보여서 편리하게 사용했다. 엑스코드를 실행시킬 때마다 시작화면을 띄우..
Info.plist파일을 옮기게 되면 에러가 발생한다. 에러 내용은 Build input file cannot be found 말 그대로 빌드 입력 파일을 찾을 수 없다는 의미다. 에러가 발생하는 이유는 프로젝트를 생성하면 자동적으로 Xcode 최상위에 Info.plist파일을 생성하는데, 내가 그것을 하위 폴더로 옮겼기 때문에 찾을 수 없게 되고 에러가 발생한다. 그럼 Info.plist가 어디에 있는지 정확하게 알려주면 된다. 프로젝트 TARGETS의 BuildSettings에서 infoplist라고 키워드를 검색한다. 그러면 아래와 같이 키워드infoplist에 관련된 항목들이 뜬다. 그중에서도 나는 Info.plist파일의 위치를 알려주고 싶은 거니까. Info.plist File을 수정해준다. ..
- Total
- Today
- Yesterday
- 스위프트UI
- SWIFT
- 독서
- 머신러닝
- 문자열
- 책 후기
- ARC
- 책 추천
- 알고리즘
- Algorithm
- objective-c
- swiftUI
- Deep learning
- RX
- Xcode
- 딥러닝
- objc
- ReactiveX
- string
- swift5
- 애니메이션
- wwdc
- Animation
- leetcode
- ios
- 책
- stanford SwiftUI
- 스위프트
- iOS SwiftUI
- rxswift
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |