iyOmSd 183

[Swift] Python을 이용한 Excel -> Json 맵핑 스크립트 만들기

다국어를위해 로컬라이징을 사용하거나 어떠한 단어 혹은 정책들은 액셀로 관리하는 경우가 많은데요개발자 입장에서는 이파일을 보고복사해서 형식에 맞게 다시 옮겨적어서 전처리 과정을 거쳐서 데이터로 사용해야합니다.물론 이과정에서 누락 혹은 실수가 일어나서 휴먼에러가 도중에 생기기도하죠 이러한 과정을 자동화 시켜서 알아서 파일을 뽑아줄 수 있도록 스크립트를 작성해볼거에요전 파이썬을 잘모르기때문에..기본 코드는 지피티 선생님이 도와주셨습니다! 👏 우선 파이썬을 설치해야겟죠 터미널을 실행시키고 파이썬 라이브러리 설치합니다pip3 install pandas openpyxl 실행은 아래와 같은 명령어로 이뤄집니다(경로 체크해주세요!)python3 # python3 excelToJson.py Keyword.xlsx 액..

iyOmSd/Title: Swift 2024.09.29

[Swift] Vision Framework 비슷한 이미지 찾기

안녕하세요이번에는 2개의 사진을 두고 이 사진들이 서로 얼마나 비슷한지 보여주는 기능을 구현해볼거에요 Vision을 검색하면VisionKit도 보일텐데요 처음에 보면 헷갈릴만한 프레임워크들이네요 Vision컴퓨터 비전 알고리즘을 적용하여 입력 이미지와 동영상에 다양한 작업을 수행합니다. VisionKit디바이스의 카메라를 사용하여 환경 또는 앱이 표시하는 이미지에서 정보를 식별하고 추출합니다. 라고 정의되있네요이미지를 분석해주는게 Vision, 카메라를 써서 스캐너같이 사용하는것이 VisionKit 정도로 간단히 이해하고 넘어가봅시다!  저희가 사용할건 Vision 프레임워크입니다!Core ML을 사용하여 이미지를 분석해주고 그 특성들을 비교해서 얼마나 비슷한지 측정 할 수 있어요  다양한 요청들이 있는..

iyOmSd/Title: Swift 2024.08.27

[Swift] EventKit Reminder 미리알림 데이터 이용하기

안녕하세요~오늘은 미리알림 데이터를 이용한 개발을 하려고합니다! 미리알림은 아이폰 기본앱으로 투두리스트같이 할일을 미리 기록해서 리마인드받을 수 있는 앱이에요 EventKit을 이용하면 사용자의 캘린더 혹은 미리알림 데이터에 접근할 수 있어요 제일 중요한 타입으로EKEventStore가 있어요캘린더나 미리알림 데이터에 접근할때 이객체를 통해서 이뤄집니다 사용자의 데이터에 접근하기때문에 권한을 요쳥해야합니다plist에 NSRemindersFullAccessUsageDescription 값을 추가해주세요!그 다음에 아래와같이 권한요청을 할 수 있습니다.let store = EKEventStore()let allPredicate = store.predicateForReminders(in: nil)store.r..

iyOmSd/Title: Swift 2024.07.26

[SwiftUI] Highlight Text만들기(일치하는 텍스트 강조 뷰)

이런 뷰를 만들어볼거에요검색하는 기능이라던가텍스트를 강조를 하고싶은 뷰에서 많이 사용하죠! 2가지 방법으로 만들어보려고해요AttributedString과 Text의 조합으로 만들어 볼겁니다 어렵지않기때문에 코드로 같이 봐볼게요!  방법1. Text의 조합으로 구현하기핵심코드부터 먼저 봐볼게요private var highlightingText: Text { guard !highlightString.isEmpty, let matchIndex = text.range(of: highlightString) else { return Text(text) .font(font) .foregroundColor(textColor) } ..

[SwiftUI] NavigationStack 화면전환 방법 고민정리 (feat. Router 구현)

안녕하세요~iOS16+부터 사용할 수 있는 NavigationStack을 이용한 라우터 로직을 만들었는데요그 과정에서 생각한 방법과 겪은 고민을 정리해보려합니다! 네비게이션 스택이뭐야? 하시는분들은https://nsios.tistory.com/199 [SwiftUI] NavigationStack안녕하세요! SwiftUI에서 항상 느꼇던 불편한점중 하나가 네비게이션이였는데요 이를 해결해주는게 나온지 좀 됐지만 이제 해보려합니다! (진작에 나왔을 녀석이여야 했는데...) iOS16 타겟을 쓸일nsios.tistory.com쓰윽 훑고오셔도 좋을것같습니다!우선 제일 간단한 방법부터 시작해보겠습니다~! 아! 그전에이 모든 라우팅 로직들은 모듈화를 했다는 가정하에 이뤄졌습니다.예제에서는 아주 간단한 구조로 사용했어..

[SwiftUI] ChipView(iOS16+, iOS16-) tag view 구현하기

2023.09.30 - [iyOmSd/Title: Swift] - [Swift] Multi Line Tag View 그리기 [Swift] Multi Line Tag View 그리기SwiftUI만 하다가 UIKit을 하게될 일이 생겼는데 요구사항중하나가 뷰를 크기에 맞게 여러줄로 표현해주는 뷰에요 테그를 표현하는 뷰같은 곳에 많이 쓰이는 UI로 알고있어요 결과물 부터 보시죠!nsios.tistory.comUIKit을 사용하는경우는 여기서 확인가능합니다!!저 글을 쓸땐 이 레이아웃을 chip이라고 부르는지 몰랐어요 ㅎ 간단하게 ChipView란?균등한 너비를 가지는게아니라 컨텐츠의 크기에 fit하게 정렬되고 그 사이즈를 넘어간다면 아래로 이동되는 그러한 뷰입니다! 아래처럼요 이런 뷰가 ChipView입니다~..

[Swift] iMessage 필터링 ILMessageFilterExtension (스팸 차단)

메시지 필터링을 개발할 기회가 생겨서 학습한 것을 기록하려고해요 먼저 프로젝트를 생성하고 file > new > target에서 Message Filter Extension을 클릭하면 이렇게 파일이 생성됩니다! 기본적인 템플릿코드는 작성돼있고 설명도 같이 써져있어요 각 함수의 역할을 알아봅시다! func handle(_ capabilitiesQueryRequest: ILMessageFilterCapabilitiesQueryRequest, context: ILMessageFilterExtensionContext, completion: @escaping (ILMessageFilterCapabilitiesQueryResponse) -> Void) { let response = ILMessageFilterCap..

iyOmSd/Title: Swift 2024.02.27

[Swift] TimeZone과 Locale

여러나라에 배포할 서비스를 개발하면서 헷갈렸던 개념을 정리해보려고해요 TimeZone 특정 지정학적 지역과 관련된 표준 시간법에 대한 정보. 지정학이란 지리적 환경과 정치현상의 관계를 연구하는 학문이라고하네요 다른나라를 여행갈 때 흔히 겪는 시차를 계산할 때와 같아요 국가별로 고유한 TimeZone을 사용하고있어요 문서를 보면.. TimeZone은 시간대의 동작을 정의합니다 TimeZone값은 지정학적 지역을 나타내고 이러한 값에는 해당 지역에대한 이름이 존재합니다. TimeZone값은 그리니치 표준시(Greenwich Mean Time)라고 부르는 GMT에서 더하거나 뺀 시간적 차이 입니다. swift TimeZone타입은 current와 autoupdatingCurrent 2가지 함수를 제공합니다 ..

iyOmSd/Title: Swift 2024.01.30

[SwiftUI] WWDC23 Demystify SwiftUI Performance

SwiftUI에 대한 성능적인 측면을 좀더 알아보고싶어서 찾아본 세션이에요 성능문제는 증상에서 부터 시작됩니다. 네비게이션 푸시가 느리거나 애니메이션이 끊기는현상이 보이거나 로딩 인디케이터가 뜨거나 등 현상이 일어날 때 증상을 보고 파악하게됩니다. 성능 문제가 있다는것을 파악하면 문제를 해결하는 첫단계는 측정이고 증상이 있음을 입증하고 증상의 원인을 파악합니다. 근본 원인을 파악한 후에는 최적화해서 문제를 해결합니다. 고친내용을 다시측정하고 입증하고 문제가 해결됬는지 확인합니다. 이를 반복하게 됩니다. 이 세션을 듣기위해서는 SwiftUI의 identity를 이해하고있어야하고 암시적, 명시적 identity가 어떻게다른지 view lifetime과 identity의 차이를 알고있어야한다고 하네요! 자세한..

[Swift] NSTextAttachment, 이미지 텍스트화

NSTextAttachment 요타입에 대해 알아보려합니다~! ???: 보기 드문타입인거같은데 어떻게 이 타입을 알게 됐나요..? 🤯: 요구사항을 보고 이건 클릭이 안 되겠지 생각하고 간략히 속성을 보여주는 뷰구나~ 하고 Label 컴포넌트로 만들어놨는데... 추후에 특정타입만 클릭이 가능하고.. 특정 타입에 대해선 이미지까지 앞에 붙어야하는 스펙이더라구요... 이걸 버튼으로 바꿔야하나.. 말아야하나...이미 구현해놔서 건드려야하는게 많아서 Label에 이미지를 넣을 순 없을까 하던중 찾게 된 타입이죠 정의! attributed strings and related objects의 첨부 특성값이라네요 정의만 보고는 먼 소린지 모르겠네요! NSTextAttachment는 NSAttributedString에서..

iyOmSd/Title: Swift 2023.10.31