-
[Apple Documentation] 매끄러운 앱 시작을 위한 런치 스크린 설계iOS/🍎 Documentation 2021. 10. 13. 13:54
안녕하세요🐶 오늘은 애플 개발자 문서 중 런치 스크린에 대한 관련하여 애플이 제공하는 제언에 대한 부분을 정리해 보았습니다. 소소하지만 디테일이 돋보이는 내용들이네요!!!! 런치스크린은 모든 디바이스에 대응해야 한다 이것은 간단하게 Xcode 에서 스토리보드로 런치스크린을 구현하면 해결됩니다. 그리고 기본적으로 Xcode 는 템플릿 프로젝트에서 LaunchScreen.storyboards 파일을 포함하고 있습니다. 이런게 알려줄 거리가 되나?? 라는 생각이 들었지만 2020년 7월 이전에는 단일 이미지 파일을 런치스크린으로 사용할 수 있었더라구요. Note: Don't use a static image for your launch screen. Static images have been deprecate..
-
[Xcode] Build input file cannot be found Info.plist 오류 해결법iOS/🛠 이슈와 궁금증 2021. 10. 4. 17:53
안녕하세요🐶 " Build input file cannot be found ~~/Info.plist" 프로젝트 파일 내부의 Info.plist 파일의 위치를 바꾸면 발생할 수 있는 에러입니다. 빌드 설정에서 미리 정의된 경로에 Info.plist 가 없으니깐 뜨는 것이므로 빌드 설정을 바꾸어 주면 해결됩니다. 미리 정의된 경로는 보통 프로젝트 소스 경로 바로 아래에 위치합니다 예: /Info.plist 각설하고 바로 해결해보자구요~~!!!!!! 1. 프로젝트 파일 선택 2. TARGETS 에서 원하는 타겟 선택 -> BuildSettings 진입 3. cmf + F 로 찾기 창 킨다음에 info.plist 검색 Info.plist File 경로를 변경된 경로로 설정해주면 됩니다. 저는 앱 번들 최상위에서..
-
[Swift] Metatype 이란?iOS/🟠 Swift 2021. 10. 2. 21:47
안녕하세요🐶 이번 시간에는 메타타입에 대해서 알아보려고 합니다. 그럼 시작해볼게요!!🔥 메타타입 : 타입의 타입 메타타입은 타입의 타입입니다. 이 타입에는 class, structure, enumeration, protocol 타입을 포함합니다. 아니 그러면 String 은 타입인데 그럼 메타타입은 String 의 타입이라는 건가요? 맞습니다. 그리고 String 의 타입은 String.Type 입니다!!! ㅋㅋㅋ 처음에는 이 개념을 이해하기 쉽지 않는데요. 메타타입은 타입 자체를 가리켜야할 경우 (refer to)가 있기 때문에 만들어졌습니다. 그리고 사실 우리는 지금까지 메타타입의 인스턴스인 [타입]을 잘 사용해오고 있었습니다. 그건 나중에 보도록하고 우선 제가 만든 그래프를 한번 보여드릴게요. 이해..
-
[Xcode] 앱 번들 찾기iOS/🛠 이슈와 궁금증 2021. 10. 2. 01:06
안녕하세요🐶 이번에는 Xcode 프로젝트의 빌드 결과물인 앱 번들을 찾아보도록 하겠습니다. 그럼 시작해볼게요🔥 앱 번들은 Xcode가 프로젝트 타겟을 빌드한 결과물입니다. 앱 번들은 보통 하나의 앱에 필요한 컴파일된 소스(executable) 과 리소스들 ,info.plist 등으로 구성되어 있습니다. 저는 xib, storyboard 가 컴파일 되어 어떤 형태가 되는지 궁금하여 앱 번들을 찾아보기로 하였습니다. 우선 Xcode -> Preferences -> Location -> Derived Data 로 이동하여 경로의 마지막에 있는 작은 화살표 버튼을 클릭하면 Finder가 Derived Data 폴더를 보여줍니다. 저는 'SSACFood' 라는 이름의 앱 번들을 찾아보려고 합니다. 이 폴더에서 B..
-
[SSAC 싹] iOS 개발자 데뷔과정 합격 후기 (2021)iOS/🤖 App 2021. 9. 24. 20:17
안녕하세요.🐶 최근 저는 서울 소프트웨어 아카데미 클러스터 (SSAC) 에서 진행하는 오프라인 부트캠프에 지원했었는데요. 싹에서 진행하는 프로그램들의 경쟁률이 최소 11: 1에서 36:1 까지 된다고 해서 지레 겁먹었었는데 운좋게 합격하여 9/28(월) 부터 교육을 받게 되었습니다. 지원 동기 🔥 이 과정을 지원한 가장 큰 이유는 iOS 개발자로 취직하기 위해 필요한 포트폴리오를 만들고, 실무에서의 경험을 얻을 수 있는 것이었습니다. 커리큘럼은 기본 교육 (2개월) + 포트폴리오 (약 3.5개월) 로 이루어져 있으며, 매주 동료들과 경험을 공유하고 멘토가 티칭해주는 위클리 컨퍼런스 시간이 있습니다. 하루 단위로 보자면 보통 오전 9시 부터 낮 1시정도 까지 온라인 라이브 강의를 수강하고, 이후는 관련 실..
-
[iOS] Safe Area 와 Layout Margins 이란?iOS/🤖 App 2021. 8. 10. 15:47
안녕하세요🐶 이번 시간에는 Safe Area 와 Layout Margins 에 대해서 알아보겠습니다. 이전까지는 정확하게 모르고 사용하던 개념들을 이번 기회에 공부하면서 제대로 알아볼 수 있는 좋은 기회였는데요. 너무 뿌듯한 마음에 신나게 글을 적었습니다. 그럼 시작할게요~!!!!🔥🔥🔥 Layout Margins 의 개념 뷰의 역할 중 하나는 컨텐츠를 보여주는 것입니다. 뷰 속에는 컨텐츠가 있는데요. 이 컨텐츠의 위치를 Layout Margins 을 통해서 조정할 수 있습니다. 이렇게 하면 다른 뷰에 의해 컨텐츠가 겹치는 것을 막아줄 수 있습니다. Layout Margins 는 컨텐츠와 뷰의 bounds 사이의 시각적인 버퍼입니다. 버퍼는 쉽게 완충재 역할을 하는 공간으로 생각하면 되는데요. 특징은 뷰 ..
-
[iOS] Container View Controller 란?iOS/🤖 App 2021. 7. 26. 18:09
1차 수정: 21.09.30 안녕하세요 🐶 이번 시간에는 ViewController 의 종류 중 하나인 Container View Controller 에 대해서 공부해보겠습니다. 그럼 시작할게요🔥 우선 View Controller 를 역할로 구분하자면 크게 두 가지 종류가 있습니다! 첫번째는 Content View Controller 로서, 기본적으로 뷰 컨트롤러에게 기대하는 역할( 앱 내 데이터를 화면에 보여주는 등) 을 수행하는 뷰 컨트롤러입니다. 일반적으로 UIViewController 를 직접 서브클래싱하여 커스텀해서 사용하는 경우입니다. class MyHomeViewController: UiViewController { ... } 두번째는 이번 시간에 다룰 Container View Contro..
-
[iOS] 리스폰더 체인 (Responder Chain) 이란? (feat. UIResponder, First Responder, UIEvent)iOS/🤖 App 2021. 7. 12. 13:25
안녕하세요🐶 이번 시간에는 리스폰더 체인 (Responder Chain) 에 대해서 공부해보겠습니다. 리스폰더 체인을 공부하면 앱 내에서 이벤트가 어떤 방식으로 전달되는지 알 수 있게 될 것입니다. 이 글에서 다루는 것: UIResponder, Responder Chain, First Responder, UIEvent 그럼 시작해볼게요🔥 리스폰더 체인은 리스폰더 오브젝트들이 동적으로 구성된 이벤트 전달 체인 입니다. 앱은 리스폰더 오브젝트를 사용하여 이벤트를 처리합니다. 여기서 리스폰더 오브젝트란 UIReponder 클래스의 인스턴스를 가리킵니다. 대표적으로 UIView (그리고 UIView의 서브클래스인 UIWindow) , UIViewController, UIApplication 가 있습니다. 리스폰..
-
[iOS] 윈도우란? (feat. UIWindow)iOS/🤖 App 2021. 7. 5. 17:43
안녕하세요🐶 이번 시간에는 윈도우에 대해서 공부해보겠습니다. 윈도우는 UIWindow 오브젝트를 가리키는 말인데요. 윈도우라는 개념이 필요하기 시작할 때는 아마 스토리보드 없이 UI를 처음 코드로 구현해볼 때 일 것 같아요. 이 글에서는 언제 직접 윈도우를 생성해야되는지에 대해서도 다루었습니다. 두 개의 공식문서를 종합해서 정리하다보니 내용이 좀 많아진 것 같네요. 요약 해보자면 윈도우는 뷰들을 담는 컨테이너이다. 윈도우는 이벤트를 전달해주는 매개체이다. iOS 앱은 콘텐츠를 화면에 보여주기 위해서 최소 1개 이상의 윈도우를 가지고 있다. (보통 1개) 시스템 윈도우에서 생성된 이벤트들은 Key Window 로 전달이 된다. 이 글에는 없는 것 External Display 에 관련된 내용 그럼 시작해볼..