7월, 2022의 게시물 표시

iOS Select main storyboard

이미지
운영 체제: macOS Monterey 12.5 사용 버전: Xcode 13.4.1, Swift, UIKit, Storyboard ​ iOS Select main storyboard를 알아보겠습니다. ​ storyboard가 프로젝트에 두 개 이상 있을 때에는 어떤 것이 제일 먼저 실행되는 것일까요? 먼저 실행되는 것을 바꾸고 싶다면 어떻게 바꿀 수 있을까요? ​ Xcode에 해답이 있습니다. ​ Main storyboard Sub Storyboard가 있습니다. 실행하면 Main부터 실행됩니다. 이것을 Sub부터 시작되게 만들 건데요. 프로젝트 파일 - Info - Main storyboard file base name으로 갑니다. 여기를 보면, Main이 적혀있습니다. 이것을 SubStoryboard로 적어줍니다. ​ 그리고 Info.plist - Storyboard Name으로 갑니다. 여기도 마찬가지로 SubStoryboard를 적어줍니다. 다음에는 SubStoryboard로 가서 Is Initial View Controller를 체크해 줍니다. 실행하면 SubStoryboard가 먼저 실행되는 것을 볼 수 있습니다. 끝. 카테고리: iOS

Android Minimum touch target size

이미지
사용 언어: Kotlin 1.7.10 사용 버전: Android Studio Chipmunk 2021.2.1 Patch 1 ​ Android Minimum touch target size를 알아보겠습니다. ​ 사용자의 사용성을 위해서 구글에서는 안드로이드 터치 영역 크기를 최소한 이 정도는 해야 한다고 권고하고 있습니다. ​ https://support.google.com/accessibility/android/answer/7101858 바로 48dp x 48 dp 크기입니다. 해당 크기가 사용성을 고려했을 때 최소한의 크기입니다. 이것보다 크기가 작다면 경고를 볼 수 있습니다. 아래는 layout 파일에서 볼 수 있는 경고 창입니다. 현재 터치 영역의 크기가 30dp x 30dp이므로 이것을 48dp x 48dp로 만들라고 알려주고 있습니다. ​ ​ 끝. 카테고리: Android

iOS How to check api availability

이미지
운영 체제: macOS Monterey 12.4 사용 버전: Xcode 13.4.1, Swift, UIKit ​ iOS How to check api availability를 알아보겠습니다. ​ iOS의 버전이 올라가면서 새롭게 추가되는 API들이 있습니다. 그리고 보통 새롭게 추가된 API는 기존의 API를 대체하기 때문에 기존의 API는 새로운 iOS 버전에서 더 이상 사용하지 못하게 됩니다. ​ textLabel을 예로 들어보겠습니다. 위의 textLabel 오른쪽에 있는 Availabilty를 봅니다. iOS3.0-14.0으로 적혀있습니다. iOS 14.1부터는 사용하지 못한다는 뜻입니다. ​ ​ 만약 우리의 코드가 iOS 13 유저도 사용할 수 있게 만들었다면, iOS 13, 14를 위한 textLabel 코드와 iOS 15를 위한 새로운 코드가 공존해야 합니다. ​ 아래와 같이 #available을 사용해서 만듭니다. if #available(iOS 14.0, *) { } else { } available 괄호 안에 있는 iOS 14.0은 14.0 이상부터 사용될 코드라는 뜻입니다. defaultContentconfiguration()의 Availability를 보면 14.0+를 볼 수 있습니다. 끝. 카테고리: iOS

iOS How to check variable type in Xcode

이미지
운영 체제: macOS Monterey 12.4 사용 버전: Xcode 13.4.1, Swift ​ iOS How to check variable type in Xcode를 알아보겠습니다. ​ swift를 접하다 보면, 처음 보는 타입을 마주합니다. ClosedRange 타입은 전 정말 처음 봤습니다. 이런 타입을 확인하려면 어떻게 해야 할까요? ​ 간단하게 가능합니다. Xcode 좌측 상단에 있는 Inspectors를 사용하면 됩니다. 보고 싶은 변수에 마우스를 가져다 대면 됩니다. ​ 끝. 카테고리: iOS

딩기 요트 범장과 해장

이미지
딩기 요트 범장과 해장을 알아보겠습니다. ​ 딩기 요트를 타려면 배를 조립해야 합니다. 이를 범장이라고 합니다. 그리고 배를 다 탔으면 배를 다시 분리해야 하는데, 이를 해장이라고 합니다. ​ 범장하는 방법을 알아봅시다. 우선 배의 머리를 풍상으로 돌립니다. 이렇게 하는 이유는 나중에 돛(세일)을 달 때, 바람의 저항을 받지 않기 위해서입니다. ​ ​ 돛이 달린 돛대(마스트)를 배 가운데에 꼽아줍니다. 핀을 꼽아줍니다. 핀은 저렇게 90 도로 꺾어줍니다. 돛을 펼치고 붐을 달아줍니다. 그리고 붐 끝에 있는 고리를 돛(세일)에 달아줍니다. 고리를 당겨서 세일을 팽팽하게 해줍니다. 주의: 고리를 장착할 때, 세일에 달린 동그란 철에 맞지 않도록 조심하세요. 저는 눈두덩이 맞아서 큰일 날뻔했답니다. 붐에 달려 있는 붐뱅을 마스트와 연결합니다. 붐뱅은 시트와 블록으로 구성되어 있습니다. 밧줄(메인 시트)를 연결해 줍니다. 우선 배 아래에 있는 도르래(블록)에 메인 시트를 연결합니다. 요트 바닥에 있는 블록은 줄을 당겼을 때 딸깍딸깍 소리가 나는 쪽이 있는데, 우리는 당겼을 때 소리가 나지 않는 쪽으로 넣어줍니다. 바닥 블록에서 시작한 메인시트가 붐에 있는 첫 번째 블록을 지납니다. 그리고 메인시트가 처지는 것을 방지하기 위해 가운데 끈을 통과하고 두 번째 블록을 지납니다. 러더 쪽에 끈에 달린 블록을 통과하여 다시 붐뱅의 두 번째 블록을 통과합니다. 이제, 시작점과 끝 점에 8 자 매듭법으로 매듭을 지어줍니다. 그러면 메인 시트가 빠지지 않습니다. 8 자 매듭법을 묶는 방법은 다음과 같습니다.

Android Could not read Username from github error

이미지
사용 언어: Kotlin 1.7.0 사용 버전: Android Studio Chipmunk 2021.2.1 Patch 1 ​ 안드로이드 Could not read Username from github error를 알아보겠습니다. ​ ​ 안드로이드 스튜디오에 있는 Git 기능을 사용하다 만난 오류입니다. Github로 Push가 되지 않았습니다. 분명히 깃에 로그인도 해놨지만, 위의 오류가 뜨면서 Push가 진행되지 않았습니다. ​ ​ 해결 방법은 간단합니다. ​ File - Settings...로 갑니다. Version Control - Git - Use credential helper를 누릅니다. 다시 Push를 진행하게 되면, Github 로그인 창이 뜹니다. 저는 입력하기 바빠서 캡처를 못했습니다. 여기에 로그인을 하게 되면, 다시 정상적으로 Push가 됩니다. ​ ​ 끝. 카테고리: Android