일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 대머리깃허브
- Concurrent
- RIBs Tutorial
- Automatically manage signing
- Github file size
- iOS 버전 점유율
- 메모리 접근 충돌
- Dependency Rule
- coordinateSpace
- rib
- Large File Storage
- windowScene
- SWIFT
- iOS Target
- swiftdocs
- in-out
- Apple Certificate
- 클린아키텍쳐
- 잡초가득블로그
- Dispatch.main.sync
- Git Large File Storage
- memory safety
- UICoordinateSpace
- ios
- RxSwift
- RxCocoa
- App Signing
- conflicting access to memory
- Ribs
- 로버트마틴형
- Today
- Total
목록전체 글 (68)
빙수왕의 개발일지
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..
swift는 struct와 enum같은 강력한 value type을 제공한다. 보통은 value type을 사용한다. reference type의 unintended sharing(의도하지 않은 공유)를 피하기 위해서. class를 사용한다면, 이것의 메모리는 ARC에 의해 관리된다. 이제 객체의 lifetime이 어떻게 관리되는지 보자. Object lifetimes and ARC Object의 생명주기는 initialization으로 시작되고, 마지막 사용으로 끝난다. ARC는 object의 생명주기가 끝나고 dealloc(해제) 한다. ARC는 객체의 reference count를 계속 track해서 객체의 lifecycle을 결정한다. ARC는 Swift compiler에 의해 retain과 re..