728x90

전체 글 116

[Swift] Photos Library 사진 선택, 최초 진행 시 시스템 Alert 표시 중지

안녕하세요! 이번 글에서는 Photos Library 사용 시 처음 권한에서 [사진 선택], [모든 사진], [허용 안 함] 중 사진 선택을 진행하게 되는 경우, 앱을 최초 진행 시 매번 확인 Alert가 출력되는 것을 중단시켜 보도록 하겠습니다. 1. 권한 기기의 앨범에 접근하기 위해서는 Photos Library 를 사용하게 되는데 이때 Permission Alert가 출력되게 됩니다. 여기서 [사진 선택...] 을 선택하면 기기의 사진을 선택할 수 있고 해당 사진만 노출할 수 있게 됩니다. 2. 제어 문제는 매번 앱 실행 시 마다 아래와 같은 Alert 가 출력이 되는데 사용자 입장에서는 매번 누르는 것이 싫다고 느낄 수 있습니다... 때문에 이 Alert 을 한 번 중단시켜 보겠습니다!! 중단시키..

Swift/정보 공유 2022.05.01

[Swift] TableView 또는 CollectionView 의 didSelect 가 정상적으로 작동하지 않을 때 확인 사항

안녕하세요! 이번 글에서는 TableView 또는 CollectionView 를 사용함에 있어 이상하게 didSelect 관련 함수가 정상적으로 작동하지 않을 때 확인해보아야 할 사항에 대하여 간략히 설명드리겠습니다! 0_0 1. Delegate 를 설정해 주었나? didSelect 는 각 컨트롤의 Delegate 프로토콜의 함수이므로 사용하고자 하는 뷰 단에 Delegate 를 설정해 주어야 합니다. 기본적인 것이라도 가끔 실수로 빠뜨리는 경우가 있어 혹시 설정은 했는지 한 번 확인해보는 것이 좋습니다! Delegate 를 설정하지 않은 경우에는 다른 Delegate 함수들도 작동하지 않으며 아무리 눌러도 반응이 없기 때문에 금방 찾을 수 있는 실수입니다. 2. 뷰에 Tap 제스처가 사용되어 있나? 뷰..

Swift/이슈 대응 2022.03.27

[Swift] CaseIterable에 대해 알아보자!

이번 글에서는 CaseIterable에 대해 알아보겠습니다. 간혹 열거형 Enum 을 사용 중 전체적인 케이스를 얻고 싶을 때 사용하면 유용합니다! (0_0) 1. CaseIterable이란? CaseIterable 은 선언한 열거형의 모든 값을 컬렉션을 제공하는 프로토콜입니다. https://developer.apple.com/documentation/swift/caseiterable Apple Developer Documentation developer.apple.com 2. 사용 한 번 예시를 통하여 확인해 보겠습니다! CaseIterable 을 사용하면 컬렉션 형태로 열거형의 값들을 사용할 수 있게 됩니다. 전체적인 케이스 별로 동작을 진행할 경우, 혹은 페이지를 사용할 경우 등 활용하면 좋을 것..

Swift/정보 공유 2022.01.17

[Swift] UIAlertController 안에 CustomView 를 넣어보자!

이번 글에서는 표준 UIAlertController 안에 커스텀 뷰를 넣어보는 작업을 진행해 보겠습니다. 네... 별로 사용할 경우는 없을 것 같습니다. 무리해서 띄우는 것보다 이쁘게 커스텀을 만드는 것이 좋다고 생각합니다. 저 같은 경우는 이전 회사에서 요구해서 살짝 한 번 다뤄봤었는데 오랜만에 기억이 나서 공유드리겠습니다 (0_0) 1. Alert 만들어 보기 간단한 Alert 을 만들어 보겠습니다. let alert = UIAlertController(title: "Test", message: "Message", preferredStyle: .alert) let action = UIAlertAction(title: "Confirm", style: .default) alert.addAction(act..

Swift/정보 공유 2022.01.13

[Swift] Then 을 사용해보자!

이번 글에서는 Then 이라는 라이브러리에 대해 알아보겠습니다. 클로저를 활용하여 간결하게 인스턴스를 선언할 수 있는 기능을 제공합니다 (0_0) 그 외에도 몇 가지 기능이 더 있는 것 같은데 이번 글에서는 기본 적인 기능에 대해 살짝 알아보겠습니다. 1. 프로젝트 도입 Then 라이브러리 같은 경우는 README 를 확인해보면 CocoaPod 과 SPM 을 제공하는 것 같습니다! 이번 글에서는 SPM 을 활용해서 한 번 도입해 보겠습니다. (가장 편하기도 해서...) 2. 코드 작성 기존에 인스턴스 선언 방법과 비교해가며 한 번 알아보겠습니다. 코드는 어렵지 않기 때문에 금방 적용하실 수 있습니다! (^^)/ Then 라이브러리 사용 전 /// 뷰 let makeView: UIView = { let v..

무료 이미지 사이트 Top5 에 대해 알아보자!

블로그나 다른 사무적인 작업을 진행하다 보면 이미지를 많이 활용하게 되는데 그런 경우에 이미지를 무료로 사용할 수 있는 사이트에 대해 한 번 알아보겠습니다 (^v^) 1. Pixabay 한글이 제공되는 사이트라 저는 자주 사용하는 사이트입니다. https://pixabay.com/ko/ 2. Pexels 여기 또한 한글이 제공되는 사이트 입니다. https://www.pexels.com/ 3. Unsplash 한글이 지원되지는 않지만 아마 가장 유명한 사이트이지 않을까 합니다. https://unsplash.com/ Beautiful Free Images & Pictures | Unsplash Beautiful, free images and photos that you can download and us..

[Swift] UIScrollView 코드로 작성해보기

이번 글에서는 UIScrollView 에 대해 간단히 알아보겠습니다. 단, 코드로만 작성해서 한 번 UIScrollView 를 이해해 보겠습니다. (ㄱ_ㄱ) 1. UIScrollView? 스크롤 뷰는 활용도가 높으나 사용에 있어 까다로운 축에 속한다고 생각합니다. (0_0) 스크롤 뷰를 사용에 있어 아래와 같은 조건을 맞추어 주어야 합니다. 스크롤 뷰 내부에 컨텐츠를 담을 컨텐츠 뷰 필요 컨텐츠 뷰의 사이즈를 명확히 지정 https://developer.apple.com/documentation/uikit/uiscrollview Apple Developer Documentation developer.apple.com 2. 사용할 뷰 선언 저는 컨텐츠 뷰를 스택 뷰로 설정하여 간단하게 작성해 보겠습니다. ..

Swift/정보 공유 2022.01.11

[Xcode] info.plist 그룹핑 하기

이번 글에서는 프로젝트 생성 후 초기 생성 파일들을 그룹핑할 때 발생하는 오류를 해결해 보겠습니다. 일반적으로 대부분의 파일들은 그룹핑에 문제는 없지만 info.plist 하나 위치를 변경 시 에러가 발생합니다. 1. 그룹핑 간단히 프로젝트를 생성해 보겠습니다. (테스트 이기 때문에 Test 코드는 미포함시키겠습니다.) 현시점에서는 아래의 캡처와 같이 파일들이 생성되는 것을 보실 수 있습니다! 자 그럼 한 번 임의대로 그룹핑을 진행해보겠습니다. 저는 Delegate, Util 로 그룹핑을 진행하였습니다. 이 상태에서 빌드를 진행하면 아래와 같은 오류가 발생합니다! (0_0) info.plist 를 찾을 수 없어 발생하는데 이 부분은 Build settings 에서 변경된 경로로 수정을 해주어야 합니다. ..

iOS/이슈 대응 2022.01.11

[Swift] @IBInspectable, @IBDesignable 에 대해

이번 글에서는 storyboard, .xib 개발을 진행하면서 디자인을 작업할 때 인터페이스 빌더에서 실시간으로 디자인을 렌더링 할 때 사용하는 @IBInspectable, @IBDesignable 에 대해 알아보겠습니다. 1. @IBInspectable이란? 첫 번째로 @IBInspectable 입니다. IB는 (Interface Builder) 이고 Inspectable은 (Inspector) 탭 부분을 의미합니다. 프로젝트를 생성하면 각 아이템에 대한 속성들의 집합이죠 (0_0) 2. 커스텀 뷰 생성 자 이제 @IBInspectable 를 한 번 사용해 봅시다. 우선 가볍게 프로젝트를 생성하고, 적당히 뷰를 생성하겠습니다. 저는 잘 보이게 중앙에 빨간 뷰를 하나 넣어 주었습니다. 그러고 나서 @IB..

Swift/정보 공유 2022.01.10

[Xcode] git UserInterfaceState.xcuserstate 무시하기

가끔 개발을 하다 보면 UserInterfaceState.xcuserstate 라는 파일이 생기곤 하는데 이게 커밋을 만들어 푸쉬를 해도 지속적으로 나타날 때가 있습니다. 그러다 보면 체크아웃 하기도 귀찮아지고 무시하고 싶다는 생각이 들어 한 번 찾아보고 무시하는 방법을 공유드립니다! 1. 어떻게 하면 될까? 터미널을 실행 해당 프로젝트 폴더로 이동 아래의 문을 순서대로 입력 git rm --cached [Project Name].xcodeproj/xcuserdata/[User Name].xcuserdatad/UserInterfaceState.xcuserstate git commit -m 'Removed file that shouldnt be tracked' git rm --cached 뒤의 문장은 예시..

iOS/이슈 대응 2022.01.03
728x90