일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Large File Storage
- RIBs Tutorial
- in-out
- Dependency Rule
- swiftdocs
- windowScene
- 클린아키텍쳐
- Dispatch.main.sync
- Git Large File Storage
- iOS 버전 점유율
- App Signing
- Ribs
- Github file size
- RxSwift
- ios
- conflicting access to memory
- iOS Target
- Automatically manage signing
- coordinateSpace
- 메모리 접근 충돌
- Apple Certificate
- SWIFT
- rib
- memory safety
- RxCocoa
- 잡초가득블로그
- 로버트마틴형
- Concurrent
- 대머리깃허브
- UICoordinateSpace
- Today
- Total
목록개발 (67)
빙수왕의 개발일지
iOS Tutorial 4 - Deeplinking and Workflows https://github.com/uber/RIBs/wiki/iOS-Tutorial-4 목표 앱에 딥링크 대응을 추가하자. RIB workflow와 actionable item에 대한 이해 safari에서 딥링크(ribs-training://launchGame?gameId=ticTacToe)를 통해 앱으로 이동해보자 (+ 시작화면을 bypass해서 바로 게임을 시작해보자) URL handler을 구현하기 URL scheme(deeplinking)은 커스텀 URL을 통해 앱끼리의(inter-app) 통신을 가능하게 한다. 특정 URL 스키마로 앱을 등록하면, 유저가 그 URL을 다른앱(ex. 사파리)에서 열었을 때 앱이 시작된다...
iOS Tutorial 3 https://github.com/uber/RIBs/wiki/iOS-Tutorial-3 예전 튜토리얼에서 만들어놓은 구조 이번 튜토리얼에서는, 새로운 RIB을 만들지 않고 기존것을 변형시킨다. 목표 게임의 시작 screen에 몇가지 추가할 것이 있다. 참가자들의 이름을 display할것이다. 참가자들이 여러번 연속 플레이를 하면 점수를 추적해서 시작 화면에서 보여줄 것이다. 이번 튜토의 목표는 다음과같다. child RIB에 dynamic(동적) dependency를 Builder의 build 메소드가 불릴 때 넘긴다. static(정적) dependency를 Dependency Injection tree를 사용해서 넘긴다. Swift의 Extension 기반 종속성 준수 RI..
https://github.com/uber/RIBs/wiki/iOS-Tutorial-2 GitHub - uber/RIBs: Uber's cross-platform mobile architecture framework. Uber's cross-platform mobile architecture framework. - GitHub - uber/RIBs: Uber's cross-platform mobile architecture framework. github.com Tutorial2 wiki 설명 목표 로그인 후 게임 필드 보여주기를 할 것임. 자식 RIB가 부모 RIB와 소통하게 하기 부모 interactor가 원할 때 자식 RIB를 Attach/detach 하기 view-less RIB 만들기 view-..
튜토리얼 따라하기. https://github.com/uber/RIBs/tree/master/ios/tutorials/tutorial1 https://github.com/uber/RIBs/wiki/iOS-Tutorial-1 Tutorial1 사전작업 - RIBs 파일 생성을 위한 template 설치, pod install RIBs/ios/tooling 이동하여 template 설치 install-xcode-template.sh RIBs/ios/tutorials/tutorial1 이동하여 pod 설치 pod install pod install 하자마자 문제 발생. CocoaPods could not find compatible versions for pod "RxRelay" Podfile 열어봄 targ..
LFS란? LFS는 Git Large File Storage의 약자로, 깃에서 큰!! 파일을 업로드하거나 다운로드할 때 사용하는 오픈소스 Git Extension이다. 원래 GitHub에서는 파일 1개 당 용량이 50mb을 넘으면 warning, 100mb를 넘으면 error을 뱉는다. 참조 https://docs.github.com/en/repositories/working-with-files/managing-large-files/about-git-large-file-storage LFS는 어떤 원리인가? Git LFS는 파일에 대한 "참조"를 저장소에 저장하여 대용량 파일을 처리하지만, 실제 파일 자체는 저장하지 않는다. Git의 아키텍처를 해결하기 위해 Git LFS는 실제 파일(다른 곳에 저장됨)..
실제 디바이스에서 run 하고싶어요.. 우리는 앱을 개발하고, 배포한다. iOS 앱을 Simulator로 run할 때는 그냥 하면 된다. 하지만, 실제 핸드폰을 연결해서 run 하는 순간 우리는 다음과 같은 에러를 마주한다. Signing for "FirstSwiftUI" requires a development team. Select a development team in the Signing & Capabilities editor. Signing을 하는데 team이 필요하다.는 오류다. 음.. 실제 핸드폰에 연결하려면 Signing 이란걸 해야되는데, 그럴려면 team이 필요하다. 정도로 해석할 수 있다. 그리고 시키는 대로 Signing & Capabilities에 가보면 에러를 볼 수 있다. 그리..
출처 https://blog.cleancoder.com/uncle-bob/2012/08/13/the-clean-architecture.html Clean Coder Blog The Clean Architecture 13 August 2012 Over the last several years we’ve seen a whole range of ideas regarding the architecture of systems. These include: Though these architectures all vary somewhat in their details, they are very similar. They all have blog.cleancoder.com 지난 몇 년 동안 우리는 시스템 아키텍처에 관한 ..
iOS에는 안드로이드와 달리 체크박스가 없어서 UIButton을 이용해서 만들어야 한다. 기본 UIButton의 selected 상태를 사용하여 이미지를 변경해 줄 수도 있지만, 확장성을 생각해서 Custom Class를 만들어 보았다. /// 체크박스 class CheckBox: UIButton { /// 체크박스 이미지 var checkBoxResouces = OnOffResources( onImage: UIImage(named: DefaultResource.checkedImage), offImage: UIImage(named: DefaultResource.notCheckedImage) ) { didSet { self.setChecked(isChecked) } } enum DefaultResource..