안녕하세요 데브리프터 입니다! 회사에서 프로젝트를 진행하면서 여러가지 상황에 따라서 빌드를 모두 다르게 해야하는 상황이 많았습니다.이런 이유로 flag 를 활용한 코드제어에 대한 내용을 이전 글에서 포스팅했습니다. 오늘은 실제로 빌드환경에 따라서 In House 방식으로 배포하기 위해 ipa 파일을생성하는 방법에 대해서 작성해 보겠습니다! 서론 그만하고 시작합니다!! 사용 및 작성 목적SI 프로젝트 중 보안정책이 강한 몇몇 회사는 그 특성상 현장에가서 직접 개발 / 디버깅 / 테스트 하기에 자원이 부족합니다특히 테스트 기간에 여러가지 이슈사항으로 보안테스트 , 배포용 , 개발환경테스트용 등 다양한 환경을 적용해서 빌드파일을 전달해야할 상황이 여러 프로젝트에서 동시다발적으로 생깁니다. 이에 따라서 잘못된..
Xcode
안녕하세요!주제가 이리저리 튀는 데브리프터입니다.. 클라이언트에 따라서 모의해킹용으로 빌드를 하는데 이때마다 configuration이나여러 가지 보안 세팅 코드들을 수정하고 다시 원래대로 돌려놓아야 하는 굉~~~~~~장히 번거롭고그럼에도 휴먼에러 가능성이 너무 많은 상황이라 이를 조금이라도자동으로 제어할 수 있게 하려고 찾아보다가 flag라는 아이를 처음으로 알게 됐습니다! 근데 이놈이.. 좀 헷갈리고 세팅하는 데서도 좀 애를 먹어서 (한 번만 테스트하고 문서화해놓으면 되는 건데 왜 아직..?)다른 분들도 저처럼 고생하지 말고이것도 되나..?그럼 이런 케이스도..? 하는 부분까지 다 테스트 돌려보고 기록한 거 보시라고 작성했습니다!..그럼 시작하겠습니다!! 먼저 Swift 에는 #을 사용하여 전처리문을..
강의를 듣던 도중 UITextFieldDelegate 에 대해서 정리할 일이 생겼다. 사실 나는 노션으로 자잘한 것까지 다 기록해두지만 다른 사람이 볼 수 있는 블로그에는 조금 더 제대로 공부한 내용을 남기고 싶어서 아껴둔 것들이 많았는데 이 내용은 비교적 기초적인 내용으로 간단하게 집고 넘어가면 좋을 것 같아서 글을 썼다. 시작해보자. 먼저 UIKit에서 많은 오브젝트들이 Delegate 패턴을 사용해서 해당 클래스에 대한 동작을 구현하고 있다. 대표적으로 UITextField나 UITableView 같은 오브젝트들이다. Delegate?Delegate는 '대리자'라는 뜻이다. 즉 무언가를 대신하는 놈 이라는 뜻이다. 그렇다면 뭘 대신할까? UITextFieldDelegate, UITableViewDe..
기존에 Flutter로 만들었던 회사 프로젝트를 iOS에서 구현해 보려고 WebView를 사용하던 중 "This method should not be called on the main thread as it may lead to UI unresponsiveness." 이런 에러를 조우했다.. 일단 메세지를 잘 들여다보면 '어떤 메소드가 메인스레드가 아닌 곳에서 호출되었다 또는 메인스레드에서 호출되었어야 하는데 그렇지 못하였다' 류의 문제 같은데 검색을 하다보니 내 생각이 맞았다는 것을 알 수 있었다.. Apple Developer Forum에 있는 답변 및 검색 결과로 내가 직접 시도해 본 방법들인데, 1. Xcode에서 Thread Sanitizer 를 체크하고 build 해본다. 2. Dispatch..