iyOmSd/Title: Swift 91

[Swift] Xcode release, debug app 구분하기

요즘 정신이 없어서 글을 못 올렸네요... 반성... 이번에는 디버그용앱과 릴리즈용 앱을 구분해서 폰에 같은 앱이지만 두 개의 앱(?)이 나타날 수 있도록 하는 작업을 해볼 거예요 이걸 왜 해요 굳이 불편하게...?? 음... 제가 생각하기에는 우선 xcode 디폴트로 debug용 앱이 설치가 돼요 근데 뭐 마켓에서 다운로드하거나, 테스트플라이트로 다운받거나하면 release용 앱이 다운받아지거나 뭐 그런... 다운하면서 겹쳐져서 기존 개발하던 앱이 사라지고 받아지는 경우가 있어서... 개발용으로만 따로 빼고 싶어서 하는 거 같아요 Xcode위에를 보면 Edit Scheme를 누르면 미리 만들고 게시글을 써서.. 여기에 있는 WiTH_Dev는 이 글을 보면서 곧 만드실 거예요...! 이렇게 빌드 설정이 ..

iyOmSd/Title: Swift 2020.07.27

[Swift] CAEmitterLayer, CAEmitterCell - 파티클 효과

이번 게시글에서 구현할 기능은 파티클 효과입니다! 어떤 효과냐구요..? 우선 영상으로 예시부터 볼게요 카톡에서 겨울에 눈올때 나타나는 효과같은거에요 오늘은 이 타입을 사용해서 구현할건데요 파티클 시스템을 render해주고 애니메이션도 넣어서 방출해준데요! 이거와 같이 사용하는게 이 타입이에요 CAEmitterLayer로 방출될 파티클을 지칭하는 것같죠? 따라서 CAEmitterLayer라는 컨테이너에서 CAEmitterCell이라는 파티클을 뿌려주는 느낌이에요 엄청 다양한 프로퍼티들이 많이있어서 하나하나 모두 보진않고 사용한것 위주로 봐볼게요 CAEmitterLayer 정의 func createParticles() { let particleEmitter = CAEmitterLayer() particleE..

iyOmSd/Title: Swift 2020.06.20

[Swift] Coordinator Pattern (2/2) - 기본동작

2020/05/17 - [iyOmSd/Title: Swift] - [Swift] Coordinator Pattern (1/2) - 기본원리 [Swift] Coordinator Pattern (1/2) - 기본원리 iOS 아키텍쳐의 종류는 다양해요 MVC, MVP, MVVM, VIPER, RIBs... 등등 많은데 MVC-C, MVVM-C 이러한 표현을 보신적도 있지않나요?? 여기서 C는 Coordinator를 의미해요 Coordinator란?? 화면의 흐름을 제어해주는.. nsios.tistory.com 전게시글에서 Coordinator가 어떤 원리로 돌아가는지 느낌을 살펴봤구요 이제 써먹을 수 있도록(?) 구현해볼게요 제가 생각한 Coordinator는 Navigation을 각 하나씩 가지고있어요 따라..

iyOmSd/Title: Swift 2020.05.22

[Swift] - Alamofire 5.1 변경된 통신 및 Json Dynamic Key

2019/10/27 - [iyOmSd/Title: Swift] - [Swift] Alamofire를 사용하여 API JSON 데이터 받기 (1/2) 예전에 Alamofire을 사용해서 통신했었는데요!! Swift버전도 올라가고, 더좋은 방향으로 발전해나가기 때문에 변경사항이 좀 있어요!! 사용법은 거의 비슷한데 살짝 바꼈더라구요 글작성시 사용한 Alamofire 버전은 5.1 이구요! struct LoginServiceImp: LoginServiceProtocol { func requestSignUp(form: SignUpForm) { var urlComponent = URLComponents(string: BaseURL.shared.getBaseString()) urlComponent?.path = R..

iyOmSd/Title: Swift 2020.05.18

[Swift] Coordinator Pattern (1/2) - 기본원리

iOS 아키텍쳐의 종류는 다양해요 MVC, MVP, MVVM, VIPER, RIBs... 등등 많은데 MVC-C, MVVM-C 이러한 표현을 보신적도 있지않나요?? 여기서 C는 Coordinator를 의미해요 Coordinator란?? 화면의 흐름을 제어해주는 역할 라우팅 VC관리 이런 단어들이 어울리겟네요 말이 좀 어렵지만.. 위 그림처럼 이런 원리라고 생각하면 쉽게 접근할 수 있어요 VC에 ViewModel를 의존성주입(DI)하듯 VC를 생성하고 필요한 의존성주입을 할 수 있어요 기존에는 Storyboard에서 VC를 관리하고 이동시켰어요 라우팅관리를 모두 Storyboard에서 했었죠 혹은 ViewController가 담당했죠 Coordinator를 사용하면 Coordinator가 VC의 이벤트도 ..

iyOmSd/Title: Swift 2020.05.17

[Swift] - JavaScriptCore(1/2)

이번 게시글은 JavaScript 언어를 iOS에 맞게 맵핑 해보는 기능에 대해서 공부를 하면서 적어봤어요 Apple에서 기본적으로 제공되는 Framework 에요 WKWebView에서 JavaScript를 이용한 맵핑기능이 몇가지 제공되는게 있어요 이미있는 API가 아니라 Core를 공부하는 거니까 JavaScript에 맞게 코드가 작동되도록 구현해볼거에요 사용하기에 앞서 꼭 알아야할 개념을 볼게요 JSVirtualMachine JS코드가 여기서 실행되고 JSVirtualMachine하나로 여러 스레드를 동시 실행할 수 없고 병렬처리를 하기위해서는 여러 가상머신을 사용해야한다고 해요 따라서 이것을 새로 생성하라는거죠 두 가지 주요 목적 JavaScript 동시 실행을 지원하는 것과 JavaScript와..

iyOmSd/Title: Swift 2020.05.16

[Swift] - TableView Header 및 Swipe Delete Action

TableView에서 Cell위에 View를 추가할 수 있는데 그거를 HeaderView라고 불러요 아래에 FooterView도 추가할 수 있어요 Section마다 각각 하나씩 추가할 수 있어요 이런 디자인이 있을 때 회색의 언더바 밑으로는 Cell이구요 위에는 HeaderView로 구현했어요 헤더뷰를 만들기는 간단해요! 바탕이될 뷰를 생성하고 그뷰에 각 컴포넌트들을 오토레이아웃 설정해주고 바탕뷰를 반환해주면 되구요 크기도 당연히 지정할 수 있어요 func tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? { let view = UIView() let underLine = UIView() underLine..

iyOmSd/Title: Swift 2020.05.12

[Swift] - Simple Carousel Effect CollectionView With Animation

최근에 애니메이션에 관심이 많아져서 계속 애니메이션 관련글만 올리고있네요 ㅎㅎ오늘 구현해볼 애니메이션이에요 대표적으로 음악앱을보면 앨범을 띄울때 이런 방식으로 띄우는걸 볼수있어요이런 효과를 Carousel이라고 불러요사전정의에는 '회전목마' 라고 하네요이 애니메이션을 포함해서 다양한 Carousel효과가 많더라구요 처음이기때문에자료를 찾아보면서 이것저것 해봤는데 좋은 코드가 있거나 방법이있다면댓글달아주세요 😁 시작해볼까요..! class ViewController: UIViewController { @IBOutlet weak var collectionView: UICollectionView! let cellSize = CGSize(width: 200, height: 500) var minItemSpaci..

iyOmSd/Title: Swift 2020.05.08

[Swift] - TabBar 애니메이션: CollectionView를 이용한 페이징

생각으로만 구현한 코드라서 완벽하진 않을거에요 좋은 방법이 있거나 틀린게 있다면 많은 피드백 부탁드립니다!! 글로 설명하기 조금 어려워서 이번에 구현할 애니메이션을 영상으로 먼저 볼게요!! 이런 상단 탭바 많이들 보셧죠 저도 보면서 와 이런건 어떻게하나... 궁금했어요 그래서 도전해봤어요 기본적인 레이아웃으로는 collectionView -> 상단tab부분 view -> 탭바 밑줄 collectionView -> page부분 이렇게 3개를 사용할거에요 우선 기본적인 Cell부터 구현해볼게요 상단 tab이될 Cell이에요 class TabBarCollectionViewCell: UICollectionViewCell { static let reuseIdentifier = "TabBarCell" @IBOutl..

iyOmSd/Title: Swift 2020.04.29

[Swift] - 화면전환 애니메이션 커스텀: UIViewControllerAnimatedTransitioning

ViewController간 이동할 때 화려한 애니메이션을 접한적이 있지않나요?? 이러한 애니메이션을 주면 앱이 이뻐보이기도 하구요..! 그래서 해보려고 도전했어요 먼저 쓰이는 함수를 알아볼게요 UIViewControllerAnimatedTransitioning(Protocol) view controller를 전환할 때 커스텀으로 애니메이션을 주고싶다면 이것을 구현하래요 UIPercentDrivenInteractiveTransition(Class) 한 컨트롤러와 다른 컨트롤러 간에 상호작용 애니메이션을 구동할 수 있게해주는 역할인것같아요 UIViewControllerTransitioningDelegate(Protocol) 뷰 컨트롤러 간의 전환을 관리하는 데 사용되는 Delegate같아요 이렇게만 보면 ..

iyOmSd/Title: Swift 2020.04.25