개발 일지
-
애드훅보다 간편하다! 테스트플라이트보다 빠르다! 파이어베이스 iOS 배포를 활용해 보자iOS 2020. 4. 26. 01:15
파이어베이스 앱 배포를 이용하면 애드훅보다 간편하게 배포할 수 있습니다. 테스트플라이트 말고 굳이 서드파티 왜 쓰냐 생각하실 수 있는데, 파이어베이스 앱 배포를 쓰면 테스트플라이트에 뜨기까지의 시간 지연을 건너뛸 수 있습니다. 파이어베이스 앱 배포를 이용하는 방법을 공유하겠습니다. 이전 포스트에서 이어집니다. https://sesang06.tistory.com/181 Xcode 11 에서 애드훅으로 앱을 배포하는 방법, 드롭박스나 구글 클라우드 이용보다 확실한 배포 방법 애드훅은.. 테스트플라이트를 대신해서 배포하는 방식입니다. 테스트플라이트는 애플에서 처리하는데 시간이 걸리므로.. 어느정도 지연이 있습니다. 큰 프로젝트의 경우 2시간은 족히 걸립니다. 이 시간이 꽤나 길.. sesang06.tistor..
-
Xcode 11 에서 애드훅으로 앱을 배포하는 방법, 드롭박스나 구글 클라우드 이용보다 확실한 배포 방법iOS 2020. 4. 26. 01:00
애드훅은.. 테스트플라이트를 대신해서 배포하는 방식입니다. 테스트플라이트는 애플에서 처리하는데 시간이 걸리므로.. 어느정도 지연이 있습니다. 큰 프로젝트의 경우 2시간은 족히 걸립니다. 이 시간이 꽤나 길기 때문에... 애드훅으로 이걸 단축시켜보자고 생각했습니다. 다만, 튜토리얼등이 Xcode 10.0 기준이라서 지금 상황이랑 조금 달라서, 헤메게 되었습니다. 다른 분들은 헤메지 않도록, 방법을 공유합니다. 기기 등록하기 아카이브하기 전에, 설치할 기기를 등록해 주어야 합니다. 전통적인 방식으로 developer 포탈에 가서 등록해 줄 수도 있겠으나.. 기기를 무선으로 연결하고 Xcode 에서 Register Device 를 입력하면 동일한 효과를 냅니다. 아카이브 이후 등록된 기기는 정상적으로 설치되지..
-
[잡설] 빌드 속도 단축에 대한 고민iOS 2020. 4. 25. 23:48
카르타고가 은근히 귀찮게 하는 구석이 많을듯 합니다. 11.4 에서 엑스코드에서 또 이상한거 해서 소켓-아이오가 카르타고에서 빌드가 안 됩니다. 걍 집에서 슥슥보다가 어? 되네 해서 고쳐서 PR 날렸습니다. https://github.com/socketio/socket.io-client-swift/pull/1283 Support carthage for Xcode 11.4 by sesang06 · Pull Request #1283 · socketio/socket.io-client-swift #1278 github.com 민소네님의 블로그를 따라하다보면 프로젝트를 다중 레포로 나누어서 하는 방법도 대충 파악했습니다. 특히 let us go 2019 봄의.. 프레임워크 주도 개발을 하면 잘 될 것 같습니다. ..
-
느려터진 iOS 빌드 속도로 고통받는 당신에게, 카르타고를 권장합니다.iOS 2020. 4. 24. 00:23
서론 카르타고를 왜 도입했는가. iOS 라이브러리 의존성 관리 툴은 여러 가지가 있습니다. 그중 코코아팟이 제일 유명하고, 저도 코코아팟을 써 왔습니다. 코코아팟은 통소스를 다운로드하고, 컴파일할 때마다 라이브러리 소스를 같이 빌드합니다. 라이브러리가 많아질수록 클린 빌드의 속도가 느려집니다. 반면 카르타고는 라이브러리 소스를 미리 빌드합니다. 처음 라이브러리를 가져올 때에는 시간이 조금 걸리겠습니다만, 클린 빌드를 할 때 자체 코드들만 빌드하게 됩니다. 따라서 개발 중 빌드 시간이 줄어들게 됩니다. 갈수록 프로젝트에 스위프트 코드와 rxSwift 코드가 많아지니, 갈수록 컴파일 속도가 느려지게 되었습니다. 빌드 속도가 느려지면서 개발에는 차질이 생겼습니다. 한번 날 잡고 카르타고로 옮겨보자 했습니다. ..
-
코드잼 2020 라운드 1B 후기백준 2020. 4. 20. 09:17
코드잼 예선을 통과하고, 라운드 1을 응시하게 되었습니다. 라운드 1은 A, B, C 로 나뉘어 진행됩니다. 세 라운드 중 어느 것이라도 1500등 안에 들어가면 통과입니다. 한 서브 라운드라도 합격하면 이후 라운드는 응시할 수 없습니다. 따라서 1A 보다 1B가, 1B보다는 1C가 등수 이내에 들기 쉽습니다. 아무래도 잘하는 사람은 먼저 라운드에 응시해서 바로 다음 라운드 티켓을 거머쥘 수 있기 때문이겠죠. 1A는 저번주 일요일 아침에 시행되었습니다. 1번 문제에서 헤맨 나머지 그렇게 많이 문제를 풀지 못했고.. 1번 스몰 인풋, 2번 미들 인풋까지 풀어 19점, 5772등으로 마감했습니다. 1B는 어제 새벽에 시행되었습니다. 이번 라운드도 어렵긴 마찬가지였는데... 특히 1번 문제가 쥐약이었습니다. ..
-
SWIFT 질문들iOS 2020. 3. 14. 01:19
class와 struct의 차이 상속 됨 / 안 됨 힙이냐 스택이냐. 속도는 struct 가 더 빠름. 프로토콜은 둘다 준수 가능. class A와 class B에 동일한 함수가 있다면 어떻게 바꿀 수 있나? 이건 뭔소린지 모르겠음. enum / function / closure 각각 value type 인가 reference type 인가? https://developer.apple.com/swift/blog/?id=10 struct, enum, tuple: 값 타입 closures, function: 참조 타입 탈출 클로저 펑션에 인자로 들어갔지만 펑션 리턴 후에 실행되는 클로저 https://docs.swift.org/swift-book/LanguageGuide/Closures.html#ID104 ..
-
iOS 13에서 리뉴얼된 위치 정보 변경 필독 사항 2 - 위치정보 한 번 허용iOS 2020. 3. 7. 15:43
이전 포스트와 이어집니다. https://sesang06.tistory.com/174 iOS 13에서 리뉴얼된 위치 정보 변경 필독 사항 1 - 위치정보 지연된 항상 허용 iOS 13에서는 위치정보 요청이 복잡하게 변경되었습니다. 이번 포스트에는 "항상 허용"의 변화에 대해서 살펴보겠습니다. 시작 앱의 위치 정보 권한을 상태를 나타내는 enum CLAuthorizationStatus 에는 다섯 가지.. sesang06.tistory.com 시작 iOS 13에서 위치 정보 권한을 요청하면, 한 번 허용 이라는 선지가 새로 등장합니다. 한 번 허용을 누르고, func locationManager( _ manager: CLLocationManager, didChangeAuthorization status: C..