ios

    Apple Developer 사이트가 먹통일 때 apple의 서버 확인하는 법

    Apple Developer 사이트가 먹통일 때 apple의 서버 확인하는 법

    https://developer.apple.com/system-status/ System Status - Apple Developer developer.apple.com 여기를 방문하면 appstore connect 와 같은 큼직한 기능들이 현재 상태에서 지원되는지 확인 할 수 있다.

    [Swift] SceneKit 사용법

    스티커 이미지 위에 3D 모델을 올리고 싶으면 다음 블로그를 참고해보자. 깃허브의 오픈소스가 생각보다 잘 인식되어 신기했다.. 모델러에게 .obj를 받고 .usdz로 변환 작업 후에 .scn으로 모델을 올리면 된다.. 자세한 것은 블로그를 확인해보자. https://ios-daniel-yang.tistory.com/39 [iOS/Swift] SceneKit의 사용법 (4) - 이미지를 인식하여 3D형상 만들기 시작 오늘은 SceneKit으로 이미지를 인식하여 그 위에 캐릭터를 올려볼 예정입니다. 간단히 설명할 예정이라 자세한 내용은 이전 글을 참고하시길 바랍니다. SceneKit의 사용법 (1) - 정육면체와 달을 ios-daniel-yang.tistory.com https://github.com/Dan..

    [iOS] TDD란?

    테스트 주도 개발(Test-Driven Development TDD)은 매우 짧은 개발 사이클을 반복하는 소프트웨어 개발 프로세스 중 하나이다. 개발자는 먼저 요구사항을 검증하는 자동화 된 테스트 케이스를 작성한다. 그런 후에 그 테스트 케이스를 통과하기 위한 최소한의 코드를 생성한다. 마지막으로 작성한 코드를 표준에 맞도록 리팩토링한다. -위키백과 단위로 잘라서 테스트를 하는 개념으로 테스트를 통과하는 코드를 작성하기 위해 재사용성과 의존성에 대해서 고민하여 의존성이 낮은 코드를 작성할 수 있도록 유도되는 것 같다. 공부할 때 참고한 블로그 기록을 남긴다. https://leeari95.tistory.com/60 [iOS/Swift] TDD와 Unit Test 테스트 주도 개발(Test-Driven D..

    [Swift] 네이버 지도 마커 클러스터링 (Quad Tree Clustering)

    https://github.com/pablogsIO/PGClustering GitHub - pablogsIO/PGClustering Contribute to pablogsIO/PGClustering development by creating an account on GitHub. github.com 해당 깃허브는 애플 지도에 맞는 Quad Tree 알고리즘을 적용한 프로젝트이다. 하지만 네이버 지도용으로 커스터마이징 하고 싶었다. 그래서 직접 위 깃허브를 토대로 네이버 지도용으로 만들어보았다! 전체적인 로직은 비슷하지만 스크롤 시 마커가 수시로 다르게 클러스터링 되는 것이 불편하여 스크롤을 해도 같은 부분을 클러스터링 하도록 조금 더 개선을 하였다. (이 부분은 quad tree 알고리즘에 대한 이해도가..

    [Swift] iOS 기기 내 PDF 혹은 파일 첨부 하는 방법

    일하다가 요건으로 pdf 파일을 넘겨줘야하는 상황이 있었다. 애플에서 미리 만들어 놓은 함수를 통해 간단히 파일을 끌어올 수 있었다. 나의 기억력은 나쁘기 때문에 까먹으면 다음에 써먹으려고 적는다... import UniformTypeIdentifiers import PDFKit class VC: UIViewController { let filePickerViewController = UIDocumentPickerViewController(forOpeningContentTypes: [UTType.pdf], asCopy: true) ... func someThingEvent() { filePickerViewController.delegate = self filePickerViewController.allo..

    [iOS-rxSwift] RxFlow 란?

    ReactorKit을 공부하다가 화면전환 관리를 어떻게 하는지 도무지 몰라 카카오 오픈채팅방에 도움을 요청했다. 어떤 분이 친절하게 답해주셨는데 RxFlow를 사용하여 화면 전환을 관리하고 있다고 했다. 이전에 공부한 Coordinator 패턴을 적용한 것이라고 한다. 그전까진 enum 으로 화면들을 쪼개서 변화에 맞춰 화면을 나타냈는데 ViewController 내 View단은 관리하기 힘들어 RxFlow를 도입했다고 한다. 도더체 RxFlow는 무엇인가..? https://github.com/RxSwiftCommunity/RxFlow GitHub - RxSwiftCommunity/RxFlow: RxFlow is a navigation framework for iOS applications based ..

    [iOS-rxSwift] reactorKit + Coordinator 패턴

    reactorKit을 공부 중 단순한 한 페이지에서만 이벤트 처리가 되어 있는 부분만 공부하였다. 근데 reactorKit 을 사용하면서 다른 화면 전환을 할때는 어떻게하는거지? 라는 의구심과 함께 찾아 공부했다. 나랑 똑같은 생각을 했던 분이 있기에 블로그를 공유한다. https://jinsangjin.tistory.com/161 Reactorkit에 coordinator 패턴 적용해보기 Viper나 RIBS 같은 패턴은 화면 전환 로직을 담당하는 라우터를 모듈화 해서 관리하는 것으로 알고 있는데, ReactorKit은 화면 전환 로직을 어떻게 관리하는지에 대한 궁금증이 생겼습니다. 공식 문서 jinsangjin.tistory.com

    [iOS] 모바일 앱 UI / UX 디자인 가이드

    간혹 UI/UX를 설계할 때 어떻게 해야 맞는 걸까 라고 생각할 때가 있다. 그럴 때 참고할 만한 사이트를 찾았다. 다음 사이트에서 참고해서 레이아웃과 디자인을 신경쓰면 좋을 것같다. https://brunch.co.kr/@chulhochoiucj0/8 모바일 UI·UX 디자인시 고려해야 할 가이드라인 1 애플 iOS HIG와 Material design 가이드를 중심으로 | 모바일 앱과 웹 디자인은 데스크톱 웹 디자인과는 많은 부분이 다릅니다. 이는 각 기기device의 특성과 사용 맥락의 차이에서 기인합니다. 우선 모 brunch.co.kr

    [iOS-Swift] Coordinator Pattern

    iOS 개발을 하다 보면서 알게 된 화면 흐름을 관리하는 방법론 중 하나로 아래 링크를 통해 잘 설명된 것들을 볼 수 있다. rxSwift의 MVVM패턴에서 MVVM-C 패턴이라는 것은 MVVM + Coordinator Pattern 이였던 것이었다... 제일 기초적인 설명은 이 블로그에.. https://velog.io/@ellyheetov/Coordinator-Pattern Coordinator Pattern Coordinator 패턴의 시작 Coordinator란 화면전환을 위한 delegate이다. Stack 방식으로 새로운 화면을 push하고, 이전화면으로 돌아가가기 위해 pop한다. 가장 첫 화면을 기준으로 새로운 화면으로 넘어갈때 velog.io 좀더 알고싶다면 아래를.. https://ve..

    [rxSwift] rxSwift의 심장, Observable 이란

    [rxSwift] rxSwift의 심장, Observable 이란

    Observable T형태(Type)의 데이터 snapshot을 '전달'할 수 있는 일련의 이벤트를 비동기적(asynchronous)으로 생성하는 기능 Observable = Observable Sequence = Sequence 다른 클래스에서 만든 값을 시간에 따라서 읽을 수가 있다 하나 이상의 observer가 실시간으로 어떤 이벤트에 반응, 세 가지 유형의 이벤트만 방출 (next, error, completed) Observable들은 일정 기간 동안 계속해서 이벤트를 생성(emit) next라는 이벤트는 T에 해당하는 형태(Type)의 Element를 전달함, 클로저로 Element를 다룰 수 있음. completed는 성공적으로 일련의 이벤트들을 종료시키는 것, Observable은 종료됨 ..