전체 글
-
Github Scheduled Reminder (Slack 과 Git 연동)iOS 2022. 3. 24. 15:43
Git과 Slack을 주로 사용하는 경우! Bitbucket을 사용하거나, 관리하는 tool이 없더라도 보통 Git 에 Repo를 만들고 Rule을 설정할 수 있다. (PR은 알림이 가게 한다던지, 댓글이 달리는건 팀 모두가 알림을 받는 등등 Rule 설정 가능) 그 외에도 개인적으로 reminder를 설정할 수 있는데, 내가 mentioned 되는걸 확인 할 수 있어서 좋다. 사용 방법은 아래 아주 친절하게 나와있다. Managing your scheduled reminders https://docs.github.com/en/account-and-profile/setting-up-and-managing-your-github-user-account/managing-your-membership-in-org..
-
UIView-Encapsulated-Layout-Width 오류Swift 2022. 3. 24. 11:33
분명히 맞게 UILayout을 작성한것 같은데 아래와 같은 오류가 뜰때 UIView-Encapsulated-Layout-Width Width가 0 이라는것과 충돌된다는 오류가 뜰때 // 예시 "" ) Will attempt to recover by breaking constraint UIView-Encapsulated-Layout-Width(or Height) 가 뭔지 궁금할텐데, 이거는 tableview 나 collectionView에서 headerview 나 footerview로 지정했을때 생기고 오류났을때를 내용들을 보니까 viewdidload에서 실행했는지, 레이아웃의 구성 시점에 대한 오류라고 하는것 같았는데,,, 나에겐 해당되지 않는 내용이었다. (맞는 시점에 호출하고 있었음) This hap..
-
M1 설치 오류들iOS 2022. 3. 21. 10:25
https://kkimin.tistory.com/38 M1 pod install 오류 * M1을 사용하다가 신기한 일이 발생 아래와 같이 신기한 에러가 출력 된다 인터넷에 위의 오류를 쳐보니 정말 M1이라 문제가 발생한다고 하질 않는가...? (검색은 : https://github.com/CocoaPods/CocoaPods/se kkimin.tistory.com 이전에 확인했던 이슈 외에도 M1 관련 이슈들 정리 설치를 하다 보면, m1관련 이슈들을 마주칠때가 많은데 Cannot install under Rosetta 2 in ARM default prefix (/opt/homebrew) 위와 같은 오류를 만나면, // 일반적 brew install [packege or program] // Rosett..
-
Tuist 설치방법iOS 2022. 1. 10. 13:23
https://docs.tuist.io/tutorial/get-started/ 우선 Tuist는 CLI(command line tool) Xcode projects를 좀더 쉽게 관리하려고 하고자 하는 목적을 가진아이다. (들은 바로는 프로젝트 파일 conflict도 방지해주고, SPM 관련해서도 내용이 있던데 차차 적용해가면서 작성해보겠다.) 설치 방법 curl -Ls https://install.tuist.io | bash 프로젝트를 만드는 거라면? mkdir MyApp cd MyApp tuist init --platform ios 이러면 project.swift 가 생기는데 여기서 generate 할때 MyApp.xcodeproj and MyApp.xcworkspace 이렇게 두개 다 생성하고 싶으면..
-
Associated type?Swift 2022. 1. 4. 19:54
Associated Type은 뭘까? 사람마다 접하거나 사용한 부분이 다르지만, 나는 처음 여기서 봤다. 짜잔~ 바로 저기 있는 associatedtype 이다. AssociatedType ? 실제로 associatedtype 은 Generics 아래 위치해 있다. https://docs.swift.org/swift-book/LanguageGuide/Generics.html generic의 성질이 있다는 말인데, 바로 위에서 처럼 protocol에서 사용된다. 설명된 예제를 보면 저런식으로 protocol에 Item 이라는 associatedtype을 선언해서 사용할 수 있는데 사용할때 아래처럼 Int 로 선언해서 사용할 수도, Element로 선언해 사용할 수도 있는 셈이다. 결론 결론 이랄것도 없지만..
-
View의 life cycle (layoutsubviews에 대해)Swift 2021. 12. 31. 15:14
우선 View와 관련된 life cycle을 확인할 필요가 있다. ViewController가 layout 을 잡는 과정이랄까? 우선 layoutifneeded 와 setNeedsLayout의 개념을 이해하고 있다는 가정으로 설명한다. (모르시는분은 애플 공식문서 확인고고!) layoutsubviews() 우리가 layout을 변경하거나, 그릴때 layoutsubviews() 가 호출되며 반영한다. 공식문서를 보면 직접 호출하지 말라고 되어있는데, 그러면 이 layoutsubviews() 가 호출될때 이부분을 viewcontroller에서 수정해 다룰 수 있게 다음 메소드 들이 있다. viewWillLayoutSubviews -> layoutsubviews -> 레이아웃 정보 변경사항 뷰에 반영~ vie..
-
Unit test 시작하기iOS 2021. 12. 29. 16:35
* 우선 Unit Test의 중요성을 알고 시작하는게 중요하다고 생각된다. 내가 짠 코드가 Testable한 구조로 되어있는지 늘 생각하며 코드를 작성하는게 중요하고 필자는 Ribs 구조로 되어있는 토이프로젝트에 Ribs Unit Test를 활용해 작성했다. 세팅부터 다시 시작 1. 이미 있는 프로젝트에 Test 를 추가하는 경우 왼쪽 아래 하단 + 를 통해 Tests를 추가한다. 2. 혹시 Pod 파일이 있는경우 Test에 필요한 부분이 생기면 아래처럼 수정 (예시) target 'MyTestApp' do # Comment the next line if you don't want to use dynamic frameworks use_frameworks! # Pods for MyTestApp pod 'R..
-
Xcode Cloud란Swift 2021. 12. 28. 11:03
https://developer.apple.com/videos/play/wwdc2021/10267/ Meet Xcode Cloud - WWDC21 - Videos - Apple Developer Get to know Xcode Cloud, Apple's continuous integration and continuous delivery (CI/CD) service for building apps and frameworks for all... developer.apple.com 위 WWDC에서 활용법까지 알려준다. 실제 문서 : https://developer.apple.com/kr/xcode-cloud/ Xcode Cloud Apple이 제공하는 CI/CD tool 이라니 Xcode Cloud는 Xcod..