목록IOS (9)
거의 알고리즘 일기장
문제 거의 하루만에 app store에 통과되었다는 메일을 받았다! 기쁜마음도 잠시 바로 이어져서 오는 메일은 나를 슬프게 하였다 ㅠ app store connect도 살펴봤는데, 이런식이었다 ㅠㅠ 해결 약 5분간 어리버리타다가 그냥 구글에 검색해보았다. "개발자가 판매를 중단함" 바로 나왔는데, 해결방법은 정말 간단하다. 공식문서에 적혀있었다. ㅋㅋㅋ https://developer.apple.com/kr/help/app-store-connect/manage-your-apps-availability/restore-an-app-to-the-app-store/ 앱을 App Store에서 복원 - 앱의 사용 가능 여부 관리 - App Store Connect - 도움말 - Apple Developer 포럼 ..
예전에 만든 그림일기라는 프로젝트가 있었다. rn 시작할때 만든 프로젝트였는데, 최근에 기억이 나 들어가보니 생각보다 사람들이 써줘서 약 1년? 만에 조금 손보았다. https://kunkunwoo.tistory.com/253 React Native를 이용한 사이드 프로젝트 만들기 -7. 감동실화 app store 2전 3기 2연 reject후, 드디어 통과되었다. 키키키키ㅣ키키케케케케ㅔ케켘깔깔낄낄낄 1번째 reject Guideline 1.2 - Safety - User Generated Content - Require that users agree to terms (EULA) and these terms must make it clear that there is kunkunwoo.tistory.com..
오늘은 storyboard일 경우 코드량을 매우매우 줄여줄수 있는 snapkit 사용법에 대해서 한번 적어볼까 한다. 1. snapkit 이란? 간단히 설명하자면!! snapkit은 autolayout을 짧은 코드로 구현할수있게 도와주는 라이브러리다. 2. snapkit의 장점 얼마나 짧은 코드로 구현할수 있나?? 예시를 들면 tableview를 super.view에 꽉차게 하는 코드를 짠다고 했을때 snapkit을 쓰지 않았을때 self.view.addSubview(tableView) self.view.backgroundColor = .white tableView.backgroundColor = .white tableView.register(TableViewCell.self, forCellReuseId..
📖 서문 zeplin을 보고 ios 개발을 하던 중, UILabel중에 Line Height가 있는 디자인이 있었다. 그리고 이 label의 text를 line height vertical center로 맞추는 과정중에 생긴 궁금증을 해결하면서 쓴 글이다. 해결을 했으나, 이유가 아직 이해가 안가는 상태임으로.. 그냥 결과만 필요하신 분은 3차시도에서 코드만 배껴서 쓰길 바란다. 1️⃣ 1차 시도 처음에는 귀찮기도 하고 이게 뭐가 중요한가 싶어, 무지성으로 인터넷에 쳐서 맨위에 있는 코드 복붙해서 UILabel extension에 추가했다. extension UILabel { func setTextWithLineHeight(text: String?, lineHeight: CGFloat){ if let t..
📖 서문 xcode에 이미지를 넣어보면 1x 2x 3x 세가지의 형태로 해상도에 대응을 함을 알수있다. 하지만, 이런식으로 3가지 크기의 이미지를 넣는건.. 너무 귀찮다. 이럴때 한개의 pdf image를 넣어서 single scale로 바꾸면 해결된다. 🤔 그렇다면, 왜 pdf는 하나만 넣어도 되고.. png, jpg의 형태는 안될까? 그건 vector와 raster 파일의 차이이다. vector 파일은 그리드에 점을 설정하는 수학 공식으로 작성된 이미지이다. 그러므로 해상도를 잃지 않으면서도 제한 없는 크기 조정이 가능하다. 형식으로는 .svg, .pdf 등이 있다. raster 파일은 raster 이미지는 일반적으로 픽셀이라고 하는 색상 블록으로 구성됨으로 크기가 커지게 되면, 픽셀도 커져 흔히 말..
1. localization? internationalization? localization 은 우리의 앱을 다른 여러 언어들로 번역해주는 과정
1. 상황 게시물 등록에 관한 부분을 구현하고 있던중 생긴 문제인데, 이 view가 tableView로 짜여져 있었다. 이 tableView 안에는 여러 input을 받는 section이 있었고, 하단의 등록 버튼을 클릭하게 되면 이 input들의 데이터 값을 받아 게시물을 등록하는 형식이었다. 2. 문제 여기서 문제는 등록버튼을 눌렀을때 생겼다. 각 tableView section 안에는 section에 맞는 input을 받는 부분들이 들어가 있었고 (textField, radioButton 등등) 등록을 하려면 input 안에 쓰여진 값들을 불러와야 하는데, tableView cellForRow 함수로 각 cell을 가져올때, 몇몇개의 항목이 계속해서 nil값을 반환했다. 3. 이유 다시 함수 ret..
요즘 ios 개발을 진행중인데, 실제로 적용해본 기술들을 블로그에 적어볼까 한다. 이번에는 ios 개발에서 이벤트 처리를 하면서 자주 사용하게되는 delegate 패턴이다! 🤔 delegate 패턴??? 위임자를 갖고 있는 객체가 자신의 일을 다른 객체에게 위임하여 일을 처리하는 패턴. 부분적으로 확장해서 일을 처리한다고도 생각할수있다. 객체 1과 객체 2가 있다고 하자 객체 1이 어떤 함수를 실행했을때, 연속적으로 사람 2도 무언가를 하게 만들고 싶을수 있다. 이걸 구현하기 위해서는 일반적으로 객체 1이 객체 2를 가지고 있는 형태여야 가능하다. 그런데 delegate 패턴을 쓰게 되면 객체 1이 객체 2에 대해서 전혀 모르더라도 일을 시킬수 있다. ⛏실습 위에서 저렇게 설명했어도 뭔 🐶소린가 할 수 ..
최근 chrome에서는 브라우저 랜더링이 정상적으로 되는데, ios에 있는 chrome에서 정상적으로 실행되지 않는 에러를 겪었다. 왜 그럴까 서칭을 해보니.. 저 위의 그림과 같이 ios chrome은 다른 엔진을 쓴다.. 그래서 에러의 원인을 찾기 위해서 ios chrome과 같은 엔진을 쓰는 safari에 있는 에러를 확인해 보았다. SyntaxError: Invalid regular expression: invalid group specifier name safari는 regex에서 lookbehind 문법을 지원하지 않는다. new RegExp("(? github.com https://www.browserstack.com/guide/browser-rendering-engine Role of Re..