[Swift] CaseIterable Protocol을 이용해 Enum cases 반복하기
Develop/Swift 2022. 10. 5. 14:12

안녕하세요. 미닛메이드 Minnit 입니다😌 오랜만이네요..ㅎㅎ 여러 코드들을 참고하다가 enum 옆에 CaseIterable 가 많이 눈에 들어오더라구요? 그래서 CaseIterable의 개념과 어느 경우에 사용될 수 있는지를 알아보도록 하겠습니다 ! CaseIterable 란 뭘까요? Apple🍎의 공식 문서를 확인해보면 Protocol로 "모든 값들의 collection을 제공한다" 라고 하네요! Swift에서는 Collection Type으로 3가지를 제공해주고 있는데 바로 Array, Set, Dictionary 가 있죠?? Collection을 제공한다 라는 말은 Collection Type처럼 사용할 수 있게 도와준다 라는 말로 들리네요! 더 자세히 말하면 CaseIterable를 선언 시 ..

[Swift] WWDC22 Complications and widgets: Reloaded
Develop/Swift 2022. 6. 14. 10:45

안녕하세요. 미닛메이드 Minnit 입니다😋 WWDC2022 요약 첫번째로 올린 Push To Talk에 이어서 이번에는 애플에서 드디어 제공하게 된 잠금화면을 커스텀 할 수 있는..!! (물론 안드로이드 폰에 비해 커스텀 제약이 많지만 💧) 고론 API와 소개 영상이 공개되었습니다 이 부분은 정말 많은 사람들이 기다려 왔을 것 같아요 ~ 그럼 이번에도 간단하게 요약해보겠습니다 🕶 Complications and widgets 잠금 화면의 액세서리 위젯 + WatchOS complication을 만들 수 있게 도와주는 새로운 Api가 WidgetKit 에 추가되었습니다 현재 제공되는 Watch의 complication이 위젯 형태로 한눈에 알아볼 수 있는 WidgetKit으로 재탄생하였습니다 코드 한 번..

[Swift] WWDC22 Enhance voice communication with Push to Talk
Develop/Swift 2022. 6. 12. 17:10

안녕하세요. 미닛메이드 Minnit 입니다😋 이번 6월 둘째 주에 열린 애플 세계 개발자 회의 WWDC22 ! iOS16에서 볼 수 있는 새롭고 업그레이드된 기능들 중에 제가 관심 있는 영상을 모아 모아 정리해보았습니다 ~ 이번 영상은 애플워치에서만 제공했던 "워키토키" 기능을 iPhone에서도 서비스할 수 있게 API 제공을 시작한다고 합니다 간단하게 요약해보겠습니다 🤙🏻 PushToTalk Framework 란? iOS의 새로운 오디오 커뮤니케이션 class로, iOS 앱에서 워키토키 통신을 통해 빠른 커뮤니케이션 진행하도록 도와주는 Framework이다. 위에서도 말했지만 한마디로 애플워치 watchOS 5.3 이후 사용할 수 있는 앱 서비스인 "워키토키" 를 앱에서도 구현할 수 있게 Apple에서..

[Swift/코드한줄] Print 문 프로퍼티 - separator, terminator
Develop/Swift 2022. 5. 6. 15:26

코드 한 줄에 대해 기록합니다. 의식의 흐름을 따라갑니다. 코드를 짜면서 제일 많이 사용하는 함수가 무엇일까.. 하면 Print문이라고 생각하는데 그렇기 때문에 Print 함수의 공식 문서를 참고해본 사람은 드문 거 같다 print 함수 == 출력 함수로 누구나 알고 있으니! Apple Developer Documentation developer.apple.com print(”Hello World”) 로 주로 사용하기 때문에 우리는 func print(_ item: Any) 의 형태라고 생각하겠지만.. 사실 print문의 정의는 func print(_ items: Any..., separator: String = " ", terminator: String = "\n") 로 separator과 termin..

[Swift/코드한줄] Timer.invalidate()
Develop/Swift 2022. 4. 8. 14:01

코드 한 줄에 대해 기록합니다. 의식의 흐름을 따라갑니다. Timer에서 invalidate() 함수의 정의를 보면 타이머를 중지하고 loop에서 제거해주는 역할을 하는 함수 이라고 작성되어있다 지정된 타이머를 제거하는 유일한 방법이라고 한다 (참고로 timer = nil 한다고 이미 시작된 타이머가 초기화되진 않는다...^^ 하하) 근데 invalidate() 함수를 작성했는데도 타이머가 계속 진행되는 문제가 발생해서 왜일지 알아보았다 만약 timer.invalidate()를 실행했는데도 불구하고 타이머가 계속 실행이 된다면 두 가지 중 이유가 있을 텐데 1. 타이머가 중복돼서 실행된 경우 만약 타이머를 설정하는 코드가 2번 실행됐다면 timer.invalidate() 한다고 해서 2번이 모두 취소가 ..

[Xcode] Xcode Error: abort trap 6
Develop/iOS 2022. 3. 8. 15:51

갑자기 개발 잘하다가 Xcode에서 처음 보는 에러가 발생하였다 코드에는 빨간줄 하나도 없는 상태에서 Abort Trap: 6 라니.. StackOverFlow에서 해답을 찾을 수 있었다 guard let 구문을 사용할 때 let exampleText: String? guard let exampleText = exampleText else { return } 위의 코드처럼 양쪽의 변수 이름을 같게 설정해 둔 것이 있었는데 이것을 다르게 수정해주니 에러가 해결되었다.. ^^ 이런 식으로 코드 짠 적 많은데 처음 마주친 에러였다 모두 guard let 변수명 수정해보세요~.. @미닛메이드 참고 Command failed due to signal: Abort trap: 6 Since Xcode 7 and Sw..

[Swift/코드한줄] translatesAutoresizingMaskIntoConstraints = false
Develop/Swift 2022. 1. 16. 16:48

하루에 코드 한 줄에 대해 기록합니다. 의식의 흐름을 따라갑니다. 우리가 코드를 이용해 layout을 잡기 전 꼭 해주는 일이 있다 바로 button.translatesAutoresizingMaskIntoConstraints = false 처럼 translatesAutoresizingMaskIntoConstraints 를 false로 설정해주는 일이다 이 코드를 설정하지 않으면 위치가 원하는 데로 잡히지 않는다 왜일지 궁금해졌다 먼저 translatesAutoresizingMaskIntoConstraints 은 UIView Class 에서 Subviews의 Layout 관련 Property로 분류가 되어있는 것을 볼 수 있다 그리고 공식 문서의 정의를 확인해보면 View의 AutoresizingMask가..

[Swift] WWDC21 Get ready for iCloud Private Relay
Develop/Swift 2021. 12. 21. 14:56

안녕하세요. 미닛메이드 Minnit 입니다😋 iOS15에서 현재 베타 서비스로 제공하고 있는 iCloud Private Relay(iCloud 비공개 릴레이)에 대해 WWDC21 영상이 있어서 정리해보았습니다 ~ Swift + 보안 + 네트워크라 조금 이해하기 어려웠지만,, 최대한 간단하게 풀어서 요약해보겠습니다 ~ 👐🏻 iCloud Private Relay란? iCloud+에서 구독 옵션으로 제공되는 새로운 인터넷 개인정보 보호 서비스로, 사용자가 iOS 15, PadOS 15 및 macOS Monterey에서 비공개로 안전하게 웹에 접속하고 탐색할 수 있도록 지원하는 서비스이다. iCloud + 를 구독하는 사용자에게만 제공하는 서비스입니다 현재 iOS15 사용자들은 베타 버전으로 이 서비스를 이용해..

[Swift] WWDC21 Explore Nearby Interaction with third-party accessories
Develop/Swift 2021. 9. 14. 10:47

안녕하세요. 미닛메이드 Minnit 입니다😋 UWB에 대해서 공부를 해보다가 WWDC21 에서 발표한 U1 칩이 장착된 기기와 UWB 가 장착된 타사 악세서리와의 상호작용에 대해 정리해봤습니다! 간단하게 UWB의 설명과 함께 요약해보도록 하겠습니다 👐🏻 UWB란? Ultra-Wideband 라는 뜻으로, 짧은 시간의 펄스 신호를 사용하여 넓은 주파수 대역으로 데이터를 송수신하는 근거리 무선통신 기술. 구체적으로는 500 MHz 이상의 넓은 주파수 폭, 낮은 출력의 전파를 사용하는 무선통신 기술이다. UWB는 넓은 주파수 대역과 낮은 출력 전파를 특징으로 가져 안전하고 오차 범위가 적은 무선통신 기술입니다 애플은 이 UWB 기술을 위해 U1 칩을 제작해 아이폰, 애플워치 등에 적용하기 시작했습니다 그 U1..