목록전체 글 (67)
광어네 맛집
오랜만에 포스팅이네유 ㅜㅜ 회사 일도 있고 너무 바빠서 정신이 없... 오늘은 Swift UI Preview error에 대해서 다루고자 함! 빌드는 되는데 Preview는 안나온다? 그러면 다음과 같은 확률이 큼 상황 : Grid를 사용하려고 GridItem을 만드는 과정에 발생! Preview Error Message Error: Compiling failed: consecutive statements on a line must be separated by ';' 해결법은 대충 ';' 로 구분을 해줘라! 임 ObjC 해봤으면 ' ; ' 은 알고 있을 거임! (끝맺음 표시해주는 뜻!) 근데 보기에 너무 안 예쁘고 ;(세미콜론)은 ObjC 에서만 쓰기로 해요 ㅎㅎ 그래서 다음과 같이 바꿔줌! 또는 var..
오랜만에 포스팅이네! 이번 포스팅은 계속 까먹는 거 같아서 포스팅해두려고 함 참고로 곧 Swift UI 포스팅도 해야겠다! 일단 priority를 설정하면 높이나 너비를 알맞게 해줄 수 있는 걸 알고 있을거임 그러면 중간에 vertical spacing 을 준 뒤 각 레이블 Priority를 주면 어떻게 달라지는 지 알아봅시다! Content Hugging Priority (어떻게 채울래?) Content Compresstion Resistance Priority (어떻게 줄일래?) 이거 두개만 생각하면 됨! 상단 뷰에 나온 것대로 설정을 하면 아래와 같음! ( 참고로 뒤에 Label만 건드렸음! ) Content Hugging Priority Content Compresstion Resistance P..
Swift UI가 ObjectiveC처럼 먼저 선언해주고 사용해서 느낌이 비슷한거 같기도 하고 아닌거 같기도 하고 아무튼 오늘은 Dictionary를 다뤄볼까 함! 바로 간단히 본론! // 방법 1 NSDictionary *dictionary = [NSDictionary dictionaryWithObjectsAndKeys: @"value", @"key", nil]; // 방법 2 NSDictionary *dictionary = @{@"key", @"value"}; 내가 실수 했던게 원래 Key Value이렇게 통일되어 있는게 아니였음 //값 저장 [dictionary setOnject: value forKey: key]; //값 가져오기 NSString *name = [dictionary objectiF..
이제 날씨도 더워지고 봄은 어디갔나 ㅜㅜ 오늘은 self와 _를 비교하고자 함! 바로 알아봅시다! 'self' 는 setter & getter 속성을 통해 액세스함! '_'는 직접 액세스 함! ( 즉, setter & getter를 거치지 않음 ) 이걸 몰랐을 때는 둘 다 같은 개념인줄; 다음 예시를 봅시다 다음과 같이 헤더 파일을 설정해주고 메인 파일에서는 받은 값을 setter를 통해서 입력해줍니다! //Header file @property (nonatomic, strong) NSString *tesNaming; //Main file - (void)setTestNaming:(NSString *)testNaming { self.testNaming = testNaming; } 여기까지는 문제 없음! 근..
요즘 날씨가 오락가락하는데 옷 입기가 애매함 아무튼 요즘은 출시 앱하나 만들까 하는데 Swift로 해야하나 SwiftUI로 해야하나 고민이긴 함 ㅜ 아무튼 이번 포스팅은 UIButton BackgroundColor에 대해서 적어볼까 함! 상황은 UIButton을 CustomButton으로 만들꺼임 참고로 Designable 써서 스토리보드에 보이게 만들거임 먼저 헤더 파일에 아래처럼 선언합니다 #import IB_DESIGNABLE @interface Button: UIButton @property (nonatomic, strong) IBInspectable UIColor *enableBackgroundColor; @property (nonatomic, strong) IBInspectable UIColo..
스토리보드와 연결하게 될 때 쓰이는 것들 @IBOutlet 과 @IBAction 1. 공통적으로 들어가는 'IB' Interface Builder 의 약자이며 스토리보드라고 생각하면 편하다 2. @IBOutlet 스토리보드를 연결할 수 있게 해주는 프로퍼티(property)! @ IBOutlet let lbl: UILabel ! 2-1. @IBAction 스토리보드에서 어떤 행위를 처리하는 메소스(method)! @IBAction func btn(_ sender: Any) { print("Jacob") } 3. Control Action type (Touch 관련) - touchDown : 컨트롤을 터치했을 때 - touchDownRepeat : 컨트롤을 연속 터치할 때 - touchDragInside ..
벌써 4월 중순이 흘러가고 있습니다! 6월이면 WWDC 22년 발표도 있고 시간이 너무 빠름! 이번 포스팅은 해보고 싶었던 라이브러리 배포를 해보고자 계획함! 워낙 정리가 잘된 곳이 많아 따라하기만 하면 무난하게 배포?도 가능! 근데 저는 Error가 뜸 ㅎㅎㅎ [iOS] file patterns: The 'source_files' pattern did not match any file. 자꾸 'Source_file'이 뭔지 맞는게 없다고 뜸 ㅜㅜ 그래서 검색 결과 2개로 추려짐 .podspec에서 'Source_file' 만들어지는 건 굳이 건드릴 필요없음! 지금 만든 걸 예시로 들면 'FastPWView/Classes/**/*' 이렇게가 맞고 2개 중 하나는 본인 라이브러리에서 Classes내부에 경..
올해 첫 게시글입니다! 올해에는 좀 더 성장하는 개발자가 되자! 가 목표 지금 SLProject 기간이라서 정신이 없구만요.. 대부분 오류는 Github에 명시했지만 따로 적고 싶은 글이 생겨서 포스팅하고자 함! 개발하면서 장점이자 단점은 내가 적지 않은 부분을 구현해주는 거 인거 같다 장점은 워낙 많겠지만 단점은 이번에 발견함.. 상황 바로 Date -> String String -> Date 로 변환하는 과정에서 있었다 일반적인 경우 한 가지로 변환하면 문제가 없다 근데 내가 마주한 상황은 Date -> String -> Date로 쓰고 싶은 거였다 무슨 말인가 하면 원래 Date로 주는 값을 String으로 변환한 뒤 사용했고 이 값을 저장한 뒤 다시 Date로 넘겨주려고 했다! 정확히 말하면 Da..
프로젝트+팀빌딩+앱 출시를 하다보니 블로그 업로드를 못했다 ㅜㅜ 다시 수업을 진행하면서 과제 오류가 발생하여 포스팅하고자 함 ReusableView를 상속받아서 굳이 static let identifier 를 설정안해줘도 되는 걸 만드는데 아래와 같이 오류가 떴다 '이미 선언이 되어 있는데 왜 선언해?' 이런 느낌임 그래서 선언해주는 View를 다르게 해주면 해결할 수 있음! cell마다 선언해주는 게 아니라 View에 선언해주면 해결할 수 있었다! 잘못된 정보일 경우, 댓글 언제나 환영입니다 ㅜㅜ #네이버_블로그_글_이동!
Unable to prepare User iPhone for development 라고 떠서 읭? 당황함 Xcode가 에러가 많긴 하니까 대수롭지 않게 상세 내용을 읽어 봄 Plz check the connection to the device ~~ 이렇게 있길래 아~~ 연결 끊었다가 다시 하면 되겠구나 했는데 안되는 거 ; 아 뭐지 하다가 앱 삭제 해볼까 해서 삭제했다가 했는데도 안되길래 이때 부터 멘탈 살짝 금 ㅋㅋㅋㅋ 역시 모르면 검색을 해야됨 검색해보니까 폰 껐다가 켜니까 무슨 일이었냐며 실행 잘 됨ㅋㅋㅋㅋ 추가로 오류 하나 더 있었는데 commit하고 push 하려니까 git에 접근 권한이 없는 거임 이 날은 진짜 코딩하지 마라고 말리는 건 줄 복잡한 git 서치 좀 하다가 생각해보니까 SeSAC..
이번 포스팅은 회사에 정해진 CI/CD가 없어서 제가 한번 도입하고자 테스트 할 겸 공부 겸 포스팅하고자 함!ㅎㅎㅎ 요즘은 코드 이슈보다 보안 이슈나 서비스 이슈가 더 많은 거 같음 일단 CI/CD가 뭐냐?하믄 자동화 프로세스라고 보면 됨! CI를 도입하려고 했는데 Github Action을 쓰고 있는 거 같아 일단 패스~ 그리고 배포까지 자동화하려고 했지만 사수 분께서 testFlight까지만 잡아달라고 해서 이번 포스팅은 TestFlight까지 올리고자 함! 사실 배포나 다른 것도 쉬우니 그럼 바로 넘어가봅시다! 1. Homebrew를 설치해줍니다! (구글링 하면 brew 설치하는 한줄 금방 뜹니다!) 2. Xcode Command line이 설치되어 있는지 확인해준 뒤 brew를 통해 fastLan..
진짜 오랜만에 글쓰는 거 같음 요즘 새로운 걸 자꾸 배워서 정체되어 있는 않은 느낌 핵좋음 이번 에러는 Realm을 관리하는 방법은 여러가지가 있겠지만 그 중에서 fileURL을 찾아서 이동하는데 발생한 에러임! // 아래 코드를 사용해서 fileURL을 찾을 수 있음! print("located at:", localRealm.configuration.fileURL!) 1. 첫번째 가장 많이 하는 실수 ( file :/// ) - 프린트를 하게 된다면 file:/// User/Desktop/Library ~~~~/default.realm 이런 형식으로 나올 텐데 앞에 있는 ' file:///' 를 빼고 폴더이동을 해줘야 잘 이동해짐! 2. 내가 겪은 에러? 오류? Finder 에서 폴더 이동 ( cmd ..
이번 글은 문제라기보다 실수? 같은 걸 적어놓기로 한다 괜히 적어두면 기억도 잘나서 1. LinesOfNumber tableView에서 Dimension 구현하는데 Cell 에 LinesOfNumber 깜빡해서 내가 맞다고 컴퓨터랑 20분 실랑이 하다가 처음부터 코드 읽어보니까 내가 잘못했... 까먹지 말자! 2. TextView UI 과제하다가 TextView에서 수정 불가능하게 해야겠다 생각이 들어서 Attribute Inspector에서 쭉 읽어보다가 Secure!(secure text entry) 있길래 아~ 수정 못하게 막아야지 이렇게 생각했.... 디바이스에 실행시켜보니까 뭐지 했다 바본가 ㅋㅋㅋㅋ... 이거 해제 했어야지 이것도 까먹지 말자! #네이버_블로그_글_이동!
후 어제는 또 이게 말썽이었어요 협업하면서 이런 걸 경험할 수 있어서 참 좋음 ㅎㅎㅎ 해결하고 나면 뿌듯 회사 코드는 보안이 중요하기 때문에 SSH key를 이용해서 Repo를 관리하는데 여기서 문제가 생긴듯! 그럼 바로 본론으로 넘어갑시다 Xcode 로 commit, push를 하려고 보니까 아래처럼 이런 오류가 떴습니다! Error: you're using an RSA key with SHA-1,, which is no longer allowed. Please use a newer client or a diferent key type. 이게 뭘까 해서 사이트 들어가보니까 딱히 특별한 내용은 없네요 ㅜㅜ remote -v 도 찍어봤는데 제대로 되어있었구요 검색을 하다 보니 'id_ecdsa'를 만들어줘..
오늘 포스팅은 define이라는 것을 알아 볼 예정! define이 Swift에서는 typealias 인줄 알았지만? 좀 다른 개념이었음 그럼 define이 뭐죠?? 먼저 Objective C 에서도 마찬가지로 typedef이라는 키워드를 제공해주는데 사용은 다음과 같이 사용합니다! typedef [type] [name]; 예를 들어서 아래처럼 사용할 수 있음! // 선언 typedef NSString 글자; // 사용 글자 *name = @"가나다라"; 이외의 것들은 다른 포스팅에서 알아보고 #define은 매크로 상수라고 선언한 상수를 고대로 전달해주는 거라고 합니다 // 먼저 자동완성은 다음과 같이 나옵니다 #define [macro] 그럼 사용은?? 이렇게 쓸 수 있음! #define RGB(r,..