728x90

분류 전체보기 258

[제작] eo24 루프 제작

안녕하세요. 최근에 eo24를 질렀어요. [지름] eo24 eo87을 쓰시는 분들은 아실거에요... eo24 갖고싶다... 근데 필요 없는데....... 그래도 격하게 갖고 싶다....... 저도 eo24병에 걸려서 결국 참지 못하고 질러버렸습니다...ㅎㅎ eo24 Pad : TX Keyboard ◎ 상품 phillip5094.tistory.com 소중하니까 루프가 필요하겠죠? 가컬(현재는 갤럭시 팩토리로 바뀐 거 같아요)에서 팔긴 하는데 35,000원... 너무 비싸.... 그래서 제가 직접 만들었습니다. 윗판: 131x86x3T 앞뒤: 80x17x3T 좌우: 131x17x3T 스카치테이프로 가조립해주고 주사기에 아크릴 본드 넣어서 주욱 짜주면 됩니다. (본드 너무 많이 넣으면 흘러넘쳐서 얼룩지니 주의..

취미 2024.04.06

[Privacy Manifest] 앱 심사 시 third-party SDK의 PrivacyInfo가 적용 안되는 이슈

안녕하세요. 요즘 Privacy Manifest가 핫한 것 같아요. 3/13부터 Privacy Manifest가 권장 사항이 되었고 5/1부터 필수 사항으로 되기 때문인 것 같아요. 앱 심사 요청을 이것저것 해보다가 이슈(?)를 발견했습니다. 예를 들어, 앱 자체에서는 required reason API를 사용하지 않지만, 앱이 사용하는 third-party SDK에선 required reason API(ex. UserDefaults)를 사용한다고 가정해 볼게요. (2024.03.25. 기준) 앱에는 PrivacyInfo 파일이 없고 third-party SDK 안에 required reason API 목록과 사유가 명시된 PrivacyInfo 파일이 포함되어 있는 상태로 앱 심사를 제출하면 아래 같은 ..

TroubleShooting 2024.03.25

[Swift] performSelector로 multi-argument 전달 방법

안녕하세요. NSObject를 상속받는 클래스라면 performSelector로 함수를 호출해 줄 수 있어요. 함수 호출할 때 인자도 같이 넘길 수 있는데 최대 2개까지만 넘길 수 있습니다. Objective-C에선 NSInvocation을 사용해서 제약 없이 여러 argument(인자)를 넘길 수 있어요. 근데 Swift에는 NSInvocation이 없어서... 다른 방법을 써야 해요. 제가 찾은 Swift에서 여러 인자 넘기는 몇 가지 방법 소개할게요. ## 1. 배열을 사용하자. 배열을 전달받는 함수를 추가로 정의하고 함수 내부에서 배열을 파싱해서 사용하는 것이에요. - 장점 - 없는 듯..? - 단점 - optional unwrapping 처리 필요 - 배열 순서 중요 ## 2. Dictionar..

TroubleShooting 2024.03.23

parameter(매개변수) vs argument(인자)

안녕하세요. 하... 저는 왜 parameter랑 argument가 맨날 헷갈릴까요....;;;; 사실 현업에선 적당히 말해도 찰떡같이 알아들으시지만 그래도 정확한 명칭을 쓰는게 좋잖요..? 까먹지 않기 위해 글로 남깁니다ㅠㅠ 이러면 덜 까먹겠지 parameter(파라미터, 매개변수): 함수를 정의할 때 사용되는 변수 argument(인자): 함수를 호출할 때 실제로 넘기는 값 [예시] 1. A 인스턴스 인자로 넘겨! 2. 함수에 B 타입 파라미터 추가해. 넘므 헷갈려... # 참고 What's the difference between an argument and a parameter? When verbally talking about methods, I'm never sure whether to use..

기타 2024.03.23

[지름] eo24

eo87을 쓰시는 분들은 아실거에요... eo24 갖고싶다... 근데 필요 없는데....... 그래도 격하게 갖고 싶다....... 저도 eo24병에 걸려서 결국 참지 못하고 질러버렸습니다...ㅎㅎ eo24 Pad : TX Keyboard ◎ 상품명 : eo24 Pad▶ 색상 : 알루미늄 상판 (분체도장 화이트, 아노다이징 블랙), 아크릴 하판 (투명, 반투명, 블랙 투명)▷ 배열 : 21 Key▶ 가격 및 판매수량 : 아래 '표' 참고해주세요.▷ 구성품 : txkeyboard.com (eo87 + eo24) 만족... (eo24 + 도자기) 만족22 집에 무드등 필요하신 분들은 하나 쯤 구매하세요.

취미 2024.03.20

[WWDC21] Meet AsyncSequence

안녕하세요. AsyncSequence가 뭔지 WWDC 영상 보면서 알아볼게요. # AsyncSequence async/await은 저번에 'Meet async/await in Swift'에서 알아봤어요. AsyncSequence는 특정 element에 대해 비동기적이고 순차적인 반복 액세스를 제공합니다. 이를 위해 for-await-in 또는 for-try-await-in 구문을 사용합니다. (for-await-in 구문을 사용하면 다음 element가 준비될 때까지 suspend하고, 다음 element가 준비되면 resume 합니다.) # Iterating Sequence, AsyncSequence AsyncSequence가 컴파일러에서 어떻게 동작하는지 가볍게 살펴볼게요. 일반적인 Sequence를..

WWDC 2024.03.13

[WWDC21] Meet async/await in Swift

안녕하세요. 예전에 봤던 async/await WWDC 영상 다시 보고 내용 정리 해 볼게요! 여러 번 봐서 그런가 별로 어렵진 않더라구요? 흐흐.. # async/await 사용 전 asyc/await가 없던 시절 비동기 처리를 하려면 completion handler나 delegeate를 사용했어야 했습니다. ㅇㄱㄹㅇ completion handler 방식은 복잡해질수록 indent 때문에 코드 가독성이 떨어지고 handler를 까먹고 호출하지 않아서 동작이 멈추는 경우가 생길 수 있습니다. #asyc/await 사용 async/await를 사용하면 위 코드를 이렇게 줄일 수 있어요. [참고] thread blocking async API가 호출되면 thread는 비동기처리가 완료되기 전까지 unbl..

WWDC 2024.03.09

Privacy Manifest의 봄은 5월이었다.

안녕하세요. 그동안 Privacy Manifest 관련해서 자주 다뤘었는데요. [WWDC23] Get started with privacy manifests 안녕하세요. 이번엔 WWDC23 'Get started with privacy manifests' 세션을 보고 내용 정리해 볼게요. #개요 앱 사용자는 Privacy Nutrition Labels를 통해 앱 내에서 어떤 데이터가 수집되고 있는지 쉽게 알 수 있습 phillip5094.tistory.com 개인정보 보호 매니페스트 및 서명을 필요로 하는 SDK 안녕하세요. 이전에 Privacy manifest에 대해서 공부했는데요. [WWDC23] Get started with privacy manifests 안녕하세요. 이번엔 WWDC23 'Get ..

News 2024.03.05

[WWDC22] NavigationStack, NavigationSplitView

안녕하세요. 이번엔 WWDC22의 'The SwiftUI cookbook for navigation'를 보고 iOS 16부터 새롭게 추가된 NavigationStack과 NavigationSplitView에 대해 공부할게요. # NavigationStack 기존 NavigationView에서 코드로 화면을 전환시키려면 아래처럼 NavigationLink 마다 별도의 binding을 해줘야 했습니다. iOS 16부터 추가된 NavigationStack, NavigationLink의 new API, 그리고 new 수식어인 navigationDestination를 사용하면 쉽게 구현이 가능합니다. @State 프로퍼티인 path 정보를 수정함으로써 deep linking도 가능합니다. # NavigationS..

WWDC 2024.03.02