일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- UIButton
- Realm
- IOS
- Apple
- Notification
- JPA
- Xcode
- Code
- stack
- Swift
- Archive
- mac
- Session
- appstore
- darkmode
- MacOS
- view
- 한글
- 웹뷰
- github
- geofencing
- error
- 개발자
- window
- Firebase
- iOS16
- SwiftUI
- rxswift
- FLUTTER
- Git
- Today
- Total
목록IOS (174)
EEYatHo 앱 깎는 이야기
요약 : 알람 설정 관련 코드들 특성을 분석해서 아래 코드 완성 // 최초 1번만 실행해도 괜찮음. // 계속 실행해도 괜찮지만, 팝업은 안뜨고 completion은 매번 실행됨. UNUserNotificationCenter.current().requestAuthorization(options: [.badge, .alert, .sound], completionHandler: { (granted, error) in print("requestAuthorization granted = \(granted)") if let e = error { print("error = \(e)") } }) // 매번 실행하기. 디바이스 토큰이 언제 바뀔지 모름. // 팝업이 뜨거나 하지 않음. 델리게이트로 APNS서버에 등록된..
레거시 프로젝트가 싫은 이유 하나 추가.. CI/CD 할 때 더럽게 힘들다.. 물론 내가 실력이 모자라서 그런거겠지만 zz.. 개인 프로젝트에 도입할 땐 하루이틀이면 됐는데, 레거시에는 여러 알수없는 설정들과 많은 서드파티들 때문에, 구글링으로 나온 일반적인 해결책이 통하지 않는 에러가 많아서 고생했다. CompileSwiftSources normal arm64 error: failed to emit precompiled header error: generate-pch command failed with exit code 1 file not found with include; use "quotes" instead *.h file not found 등등... 만약 나와 같은 문제를 겪는 사람이 있다면, 아..
csv파일은 만들기 매우 쉽다. 아래 함수처럼, 단순히 FileManager로 생성할 수 있다. csv파일은 그저 문자열을 나열하는 파일이기 때문이다. ( 쉼표를 구분자로 가지는 텍스트일뿐. ) 때문에, 일반적인 엑셀파일(.xlsx)처럼 이미지를 셀에 넣는 것은 불가능하다. 이미지 데이터를 문자열로 인코딩해서 넣을 수는 있지만, 용량면에서 비효율적이며, 사람이 이미지를 볼 수 없다. 이미지를 넣기 위해서는, xlsxwriter를 사용해야 한다. ( C, C++에서 엑셀을 만들 수 있는 libxlsxwriter라이브러리를 Swift에서 사용하도록 래핑함. ) 엑셀은 독자적인 데이터 형태를 가지기 때문이다. xlsx 파일 다루기 아래는 csv 파일을 만드는 간단한 함수이다. func createCSV() {..
색을 표현하는 방법은 RGB라고 해서, 단순하게 끝이 아니다. 어떤 모델인가에 따라, 각 상수(R,G,B)들이 가지는 가중치가 달라진다. 일반적인 모델로 sRGB가 있으며, ( 0.0~1.0 범위, 8비트 ) 0.0~1.0의 범위를 초과한 값도 색으로 표현해주는 Extended sRGB가 있고, ( Xcode의 기본 ColorSpace ) 16비트를 사용하면서 표현할 수 있는 색 범위가 넓어진 DisplayP3 (DP3)도 있다. 이런 모델들을, Xcode, Swift 에서는 ColorSpace 라고 하며, 이미지 파일에서는 ColorSync Profile 이라고 한다. iOS9.3 & 아이폰7 부터 DisplayP3 모델을 지원하며, 디자이너분들에게 DP3로 적용해달라는 요청이 들어와서 처음 알게 되었..
과거 런치스크린을 스토리보드로 하나의 뷰를 띄워주는 형태가 아닌, static image 여러개로 때우던 방식이 있었다. 그러나 이런 방식은, 다양한 스크린 크기에 대응하려면 크기마다 이미지가 있어야 하기 때문에, 번거롭고 어렵워서 Deprecated 되었다. 이런 방식이 적용된 레거시 프로젝트에서, 쓰지도 않는다고 저 LaunchImage를 삭제해버리면, 빌드시 오류가 발생한다. build setting에서 asset을 검색하고, Asset Catelog Launch Image Set Name 항목을 함께 삭제해주면 된다.
20220118 Xcdoe13.0 시뮬레이터 iphone12 (iOS15) 에서 발생. 이미지 캐싱 방식 문제인가.. 구글링 해도 정확한 원인 파악은 못함. 빌드 클린, 시뮬레이터에서 해당 앱 삭제, 시뮬레이터 종료, Xcode 종료, Xcode 재실행 했더니 보임.
세금 관련해서 은행 계좌주 주소를 입력해야 한데서 하는데.. 아무리 잘 입력해도 자꾸 오류가 뜬다. 1. 아래에서 하나 이상의 필드가 필요합니다. 2. 이 주소가 유효하지 않습니다. 주소를 업데이트하고 다시 제출하십시오. 한글이 문제인가? -> 영어로 해도 오류 발생. 쉼표가 문제인가? -> 하이폰(-)이 문제인가? 제거해도 오류 발생. 대소문자? 제일 앞이 숫자면 안되나? 띄어쓰기 문제인가? -> 오류 발생, 오류 발생, 오류 발생... 삽질 삽질 하다가 구글링으로 답을 찾았다. 1. 아래 사이트에서 영어 주소를 알아낸다. https://www.jusoen.com/ 영문주소변환 지번주소,신주소 등의 한글주소를 영문주소 변환 해주는 영어주소검색,영문주소변환기 www.jusoen.com 예를 들어 서울특별..
[ 테스트 코드 도입을 기피하는 개발자에게 보여줄만한 글 ] 설마 아직도 테스트 코드를 작성 안 하시나요? 가끔 욕을 먹고 싶을 때가 있을 수도 있죠. 가끔 지탄을 받고 꾸중을 들음으로써 자극을 받고 정신을 차리고 싶을 수도 있습니다. 아니면 혹은 그냥 아무 이유 없이 갑자기 한심한 눈초리를 받고 ssowonny.medium.com [ 위 글을 보면서 기억남는 부분 & 기억해야할 부분 ] 테스트 코드 작성에 너무 오래걸린다고 생각이 들면, 처음 코딩 배울 때, 코드 한줄 작성하는데 얼마나 많은 공부가 필요했는지 기억해보라. 디자인 패턴으로 열심히 비지니스 로직과 UI로직을 분리하는 이유 중 가장 큰 이유는 테스트 가능 & 용이성이다. UI 테스트는 어렵다. 하지만 비지니스 로직을 테스트하는 것은 포기하지..