목록전체 글 (67)
광어네 맛집
2024년 올해 첫 게시글 같아요 개인적으로 2024년에는 마무리를 잘하는 한 해가 되었으면 좋겠어요 이번 글은 저만 알고 있기 너무 아쉬워서 정보를 알려드리고자 합니다 다들 운동하실 때 한번씩은 운동복이나 띠에 자수를 새기고자 하잖아요? 저만 그런 느낌은 아닐 거예요 ㅎㅎ.. 일반 도복이나 패치 같은 경우에는 주변 세탁소나 근처 '자수'라고 검색하면 해주는 곳이 많죠 그리고 인스타나 블로그 여러 사이트를 봐도 많이 나오는 걸 알 수 있어요 그렇지만 소량이어서 안된다, 너무 비싸다, 택배라서 오래 걸린다라는 단점이 있습니다 전 작업 후 바로 받고 싶고, 값도 너무 비싸지 않았으면 했어요 한 이틀 동안 동대문 이곳저곳을 전화도 해보고 게시글도 남겨서 한 곳 찾았습니다! (동대문에 10곳은 안된다고 하더라고..
오늘은 주짓수 도장에서 평소처럼 스파링을 하였습니다. 스파링 상대는 다양한 체급과 실력의 분으로, 꽤 재미있게 경기를 하였습니다 요즘은 패스 당한 상태에서 이스케이프를 주로 하려고 노력해요 그래서 패스를 당한 상태에서 하는데 체력적으로 너무 힘들더라구요 아직 초크상태나 체급 차이를 극복하는 건 조금 힘든 거 같아요 근데 오늘은 이스케이프하는 중에 상대분 손톱에 목이 걸렸는지 도복에 쓸렸는지 저는 목에 상처랑 그 분은 손톱이ㄷㄷ... 스파링하면서 저나 상대방이 다치면 이래 저래 많이 속상해지네요 조심해서 한다고 해도 이상하게 다치게 되는 상황이 오는 거 같아요 그리고 스파링 끝나고 상대분께서 회사 제품인데 한번 써봐라고 하셔서 공짜로 받았습니당 ㅎㅎ 보니까 색상도 조금 들어가는 립밤이라고 해요 사실 단지 ..
취미 생활도 글 올리지 말지 고민이 많았는데 올리는 게 이래저래 좋을 거 같아서 적어봅니다! 지난 몇 개월 간 부상이랑 개인적인 사유로 운동을 지속적으로 못하게 되었어요 근데 어쩌다 보니 올해 다시 시작하게 되었어요 초반에는 예전에 했던 동작들이 생각이 안 나서 많이 애를 먹었어요 자세하게 그리고 왜 이렇게 해야하는지 잘 알려주셔서 금방 잘 따라가게 되었습니다! 그렇게 시간이 흘러 같이 운동하시는 분께서 함께 대회를 나가자고 하셔서 대회를 나가게 되었습니다! 이상하게 대회를 나간다고 준비하면 의욕이 앞서서인지 부상이 잦았어요 팔꿈치, 손가락, 발목, 발가락 ㅎㅎ.. ( 지금은 손가락쪽 빼고 전부 90%는 돌아왔습니다 :) ) ( 손가락은 80%로 돌아온 거 같네요 ㅜㅜ ) 그러다 10월에는 AJP 대회를..
이번 글은 간단하게 한번 적어두면 좋을 거 같아서 적어봅니다 대부분 Delegate로 어떤 값을 전달할 때나 View Rule을 정할 때 Protocol을 주로 사용하죠? Protocol은 필수나 Optional로 설정해 줄 수 있어요 우선 Swift 파일에서 Objective C에서 같이 사용하고자 하면 코드는 다음과 적으시면 됩니다 @objc protocol fooDelegate { @objc optional func didFinishCompletion(name: String, age: Int) } 이렇게 적으시면 Objective C에서도 사용하지 않거나 사용할 수 있어요 그렇지만 단점은 Objective C에서 지원하지 않는 Object를 Parameter에 넣게 되면 에러가 뜹니다ㅜㅜ 이럴 경우..
fastlane을 혼자 쓰다가 같이 사용할 일이 생겨서 추가 작업이 필요해졌어요 인증서 관련 작업인데 Gitlab에 올려두고 같이 쓰기로 했어요 Match를 이용하여 인증서를 올리는 방법은 간단합니다 /// 초기화 fastlane match init /// 저장소 선택 Gitlab 이더라도 1.git을 선택하시면 됩니다 /// 해당 matchFile을 알맞게 수정 git_url("https://gitlab") storage_mode("git") type("development") type("appstore") app_identifier(["com.kwangho.tistory"]) username("광어") 참고로 Gitlab에서 새로운 레포를 하나 생성한 뒤 진행했어요 /// Apple Developme..
이번 글은 빌드하려고 OS 업데이트 했다가 새로운 버그를 만나 해결하는 글입니다 아이폰 15, iOS17에서 이슈가 있어서 OS 업데이트를 했는데 다음과 같은 에러를 보았어요 * DT_TOOLCHAIN_DIR cannot be used to evaluate LIBRARY SEARCH_PATHS, use TOOLCHAIN_DIR instead 캡처를 하나만 해서 그렇지 마주한 에러는 이렇게 많아 멘붕왔어요 검색해보니까 CocoaPods을 업데이트 하면 된다고 해요 그래서 지금은 1.12.0을 사용하고 있지만 1.13.0 이상으로 업데이트 해줍니다! 근데 루비도 업데이트 하라고 나오네요 바로 brew로 설치해봅니다! // brew 업데이트 brew update // rbenv 설치 brew install r..
다양한 방법으로 작업하다보면 스토리보드에서 화면이 제대로 나오지 않는 경우가 있습니다 그럴때면 Xcode 를 껐다가 켜보아도 아무런 반응이 없거나 무한 로딩이 걸리면 난감하죠.. 찾아도 navigation을 제대로 연결해주었는지에 대한 글만 있어서 저희 프로젝트에서만 일어나는가 싶기도 했는데 해결법은 상당히 간단했습니다! 1. 우선 DerivedData를 삭제해줍니다! 2. Xcode를 완전히 종료해주세요 3. 이제 맥!북!도 완전히 종료해주세요 4. 다시 맥북을 켜고, Xcode 를 실행시켜보면 다음과 같이 로딩 후 잘 나오게 됩니다 결과 화면은 생략!
오랜만에 글쓰는 거 같아요 많고 많은 일이 있었지만 잘 정리되어가는 거 같아 한시름 놓여요 이번 글은 외부에 테스트 앱을 전달할 때 생긴 이슈입니다 다들 외부에 테스트 앱을 전달할 때 TestFlight를 주로 사용하실텐데 TestFlight 말고도 여러 가지 방법으로 테스트 앱을 전달할 수 있는 걸 아시나요 요번에 새롭게 알게 된 건데 (준비사항 있음) ipa 파일만 있으면 앱을 설치해서 테스트할 수 있어요 Mac App에서 Apple Configurator를 사용해서 아이폰에 설치할 수 있더라구요 이걸 사용하기 전에 apple Developer 홈페이지 > 계정 > 기기 에서 해당 UDID를 등록해주어야 합니다 아니면 '무결성을 확인할 수 없기 때문에 설치할 수 없습니다' 라고 알림이 떠요 이후 아카..
이번 포스팅은 쉬운 거 같지만 막상 하려면 헷갈리는 점선 그리는 방법을 알아보도록 하겠습니다! 그리고 Swift 랑 Objective C 둘 다 적어보고자 합니다! let dotLine = UIView(frame: CGRect(x: view.bounds.midX , y: view.bounds.midX, width: 100, height: 100)) override func viewDidLoad() { ... dotLine.backgroundColor = UIColor.black.cgColor view.addSubView(dotLine) ... } 우선 View 를 선언해줍니다 편의를 위해서 미리 view를 그려줬어요! 이후 CAShapeLayer 와 UIBezierPath 를 이용할건데 CAShaperL..
원래 이 오류의 경우 xib, 스토리보드 아웃렛이 제대로 연결되지 않았을 때 주로 발생한다 " setValue:forUndefinedKey:]: this class is not key value coding-compliant for the key " 근데 이번 케이스에서는 따로 Xib 만들지도 연결하지 않았는데 이런 오류가 떴다 처음에는 단순히 초기화를 잘못한 줄 알고 찾았으나 bgView가 걸려서 검색을 해보니 Class 자체 이름이 비슷해서 에러가 난 거였다... 4시간 정도 날림 ㅎㅎ... 오늘은 개발 조금 쉬어야겠다 예를 들어 내 케이스는 Swift 로 CustomView를 만들어 Objective C로 가져가 사용하려고 했다 왜냐면 기존에 만들어져있는 CustomView가 너무 지져분했기 때문에..
Swift로 코딩을 한 뒤 Objective C에 적용시키려니 다음과 같은 에러가 떴다 'Method Cannot be in an @objc extension of a class (without @nonobjc) because the type of the parameter cannot be represented in Objective-C' 원인은 간단한데 Objective C 에서는 맞지 않다는 거 그럼 에러가 난 부분은 다양할 수 있으나 저 같은 경우에는 enum 처리할 때 에러가 났음 기존 코드 enum Style { case a, b } 바꾼 코드 @objc enum Style: Int { case a, b } 오늘은 간단하게 해결!
회사에서 TestCase를 맥북에서 작성하려다가 불편한 점이 있어서 단축키를 검색해보았습니다! 그랬더니 그냥 기본적인 부분만 있었고 Window 노트북처럼 Alt 키를 이용하여 맥북에는 적용할 수 없다는 점이 나왔습니다 그래서 제가 찾은 방법을 공유해드리고자 합니다! (휴.. 이거 알려주는 사람이 없었어 ㅜ) (시간이 없으신 분들은 빠르게 하단으로!) 우선 맥북에는 시스템 설정에 보면 키보드라는 탭을 찾아볼 수 있는데요 공유해드리는 화면은 Ventura 로 업그레이드를 해서 약간 차이가 있을 수는 있지만 다들 잘 찾으실 수 있을거에요 '키보드 단축키' > '앱 단축키' > '+'를 눌러 단축키를 추가할 수 있습니다! 자 예시로 엑셀을 열어서 행을 추가하고 싶은데 단축키가 없네요..? 그러면 다음과 같이 ..
만약 Xcode 상에서 Undefined Symbol 에러가 뜬다면 다음과 같이 해주면 된다 가장 먼저 flag 가 정상적으로 들어가 있는지 확인 한다! Other C Flag 나 Swift Flag 나 Linker Flag 등 확인 하기 그 다음 디렉토리 내 기존 빌드 정보 파일을 삭제 해준다! DrivedData 삭제! 그리고 다시 빌드 해본다! 이래도 안되면 Target -> General -> Frameworks, libraries, and Embedded content로 들어간 다음 'libz.tbd' 를 추가 해준 뒤 Build Clean 해주고 다시 빌드 해본다! 아마 이러면 대부분 해결될거에요! Xcode 조금만 더 친절하게 알려줬으면 좋겠다 ㅜ 아무튼 오늘도 화이팅!
오랜만에 개발 서적을 읽어보았다 책 페이지는 비교적 많지만 내용은 어렵지 않았다 난이도 : ★☆☆☆☆ 쉬운 버전의 리펙토링 책이라고 생각하면 될 듯 싶다 장점 - 반복 설명 - 이해하기 쉽다 - 대화형 스토리도 있어서 그림과 재밌게 읽을 수 있다 - 자바스크립트라서 무난하게 읽을 수 있다 - 읽으면 2~3일만에 읽을 수 있다 단점 - 말이 모호해서? 살짝 이해안되는 부분이 있었다 (내가 바보야...ㅜ) 느낀점 아직까지 액션과 계산에 대한 부분이 모호하긴 하다 그렇지만 전역변수보다 지역변수를 선호하고 반복된 코드를 줄이는 법 등을 되새길 수 있어서 좋았다 프로젝트에 바로 적용할 수 있고, 주 언어에도 이런 고차 함수가 있나 찾아보는 시간도 가졌다
개발 보다 이전 빌드 세팅이 잘못되어 있어서 수정하는 게 더 많은 듯 Xcode 상 외부 라이브러리를 사용할 때 발생할 수 있는 에러 ' Library not loaded: ~~ Referenced: ~~ Reason:: ~~' 이런 식으로 빌드는 Success 는 나지만 Fatal Error 가 뜰 때 다음과 같이 해주면 해결된다 Target -> General -> Frameworks. Libraries, and Embedded Content -> 에러난 프레임워크 -> Embed 부분을 살펴보면 Do not Embed 로 되어 있을텐데 Embed & Sign 으로 바꿔주면 해결된다! 항상 구글링 하면 가장 먼저 나오는게 빌드 클린 + DrivedData 삭제를 가장 먼저 해보라고 함 ㅎㅎ (그치만 ..