9월, 2022의 게시물 표시

[Xcode] Xcode 프로젝트 전체파일 코드라인 파악하기 (Xcode Project Total CodeLine)

이미지
  [Xcode] Xcode 프로젝트 전체파일 코드라인 파악하기 (Xcode Project Total CodeLine) 안녕하세요. 물먹고하자 입니다 :) 오늘은 프로젝트의 포함 되어있는 클래스들의 코드라인 합(?) 을 구하는 법 공유드립니다. (업무하다보면 코드만 만드는게 아니라 가끔 보고용도 필요해요...ㅠㅠ)   시작전 그림 설명전 간단한 요약으로 Xcode에서 자체적으로 구해주는 방식이 아닌 터미널에서 사용하는 방식 입니다. 1. 터미널 > 해당 프로젝트 폴더 이동 2. 찾고싶은 파일 확장자 (*.swift, *.m, *.h 등등) 설정한 파일 들을 찾아서 코드라인을 카운트 해줍니다. 3. 주석, 공백 등등 전부다 포함이여서 온전한 Code만은 구하진 못한다. #. Pods은 프로젝트에 포함되어 있어서 카운트가 같이되고, SPM의 소스는 포함되지 않습니다.   예제 (단일건) 프로젝트 이동후 명령어 실행 (단일건) 결과 *.swift 파일들의 코드라인 합이 나옴 (멀티건) 프로젝트 이동후 명령어 실행 (멀티건) *.swift, *.m, *.h, *.xib 등 합산한 결과    마무리 오늘은 간략하게 Xcode Project Total CodeLine 구하는법을 알아보았습니다. 업무하다보면 가끔 필요할때가 있어서 내용은 정리해두었습니다. 즐거운 코딩되세요~ 끝.

[Git] Not possible to fast-forward, aborting. (오류대응)

이미지
  [Git] Not possible to fast-forward, aborting. (오류대응) 안녕하세요. 물먹고하자 입니다 :) 요즘들어 프로젝트 작업중 메인개발 브런치에서 자꾸 Not possible to fast-forward, aborting. 오류메시지가 뜨더군요. 한번만 그러면 그러려니 하고 처리 후 넘어가려고 했는데, 자주 뜨고있어서 대응방법 정리하고자 합니다.   오류메시지 Git Pull 받을때 나오는 에러 메시지 "Not possible to fast-forward, aborting." 해당 Git 폴더 이동 git pull --rebase 설정 후 Pull 받으면 정상   마무리 간단하게 해결할 수 있긴한데, Commit 과 Pull 이 동시에 있을때 자주 뜨는것 같다. (이유는 모르겠음)  오늘은 간단하게 대응방법만 공유드리며, 추가적으로 발생하면 원인분석을 해서 뜨는 이유를 찾아봐야겠다. 즐거운 코딩 되세요~ 끝.

[iOS] PHPhotoLibrary 권한체크 및 해당앱 설정페이지(openSettingsURLString) 이동하기

이미지
   [iOS] PHPhotoLibrary 권한체크 및 해당앱 설정페이지(openSettingsURLString) 이동하기 안녕하세요. 물먹고하자 입니다 :) 오늘은 설정페이지( openSettingsURLString ) 내용이 주된내용인데, 샘플로 PHPhotoLibrary 권한요청 및 현재상태 체크하는법 같이 공유 드립니다. 권한요청 및 해당 앱 설정페이지 이동 샘플영상   샘플소스 Git :  https://github.com/kimjiwook/JW_iOS_Example PHPhotoLibrary 권한요청 하는 방법 상태값 확인에는 현재기준 총 5가지이 존재하며, limited 의 경우 iOS14 이상때 추가된 사진허용인데, 일부만 허용인 상태입니다. 해당앱의 설정페이지로 이동   마무리 간단간단한 정보들은 업무 후딱처리하고 틈틈히 정리하고 있네요. 한번해놓고 잘 안보게되는 부분은 가끔씩 봐야하는데, 이번에도 보다보니 authorizationStatus 요청도 iOS14로 Level도 추가되어있었고 등등 블로그 정리하면서 저도 코드 업데이트 하는 느낌이네요 오늘은 이만 즐거운코딩 되세요~ 끝. 

[iOS] WebKit 개발자모드 디버깅하기

이미지
   [iOS] WebKit 개발자모드 디버깅하기 안녕하세요. 물먹고하자 입니다 :) 오늘은 WebKit 개발자 모드로 디버깅설정 하는 법을 공유드리려고 합니다. 네이티브앱만 개발하다보면 딱히 쓸일은 없지만,  WebKit (하이브리드 기반)을 사용할 일 이 있다면 알고 있으면 도움될 것 같습니다.    문서업데이트 - 2023. 08. 30 : iOS16.4 항목 추가.   설정방법 디바이스 설정과 맥 Safari 설정 두가지를 해야합니다. 1. iPhone / iPad 설정 방법은 동일합니다. 설정 > Safari > 고급 선택 웹 속성 을 활성화 해줍니다. 2. Mac 설정 Safari > 설정 > 고급 > 개발자용 메뉴 보기 활성화 3. Mac <-- 케이블연결 --> iPhone/iPad Safari > 개발자용 > 해당디바이스 > 활성화면 웹 선택 웹에서 자주보면 개발자모드가 앱내 WebKit에 활성화가 됩니다. 디버깅 관련은 Mac Safari 에서 보면 됩니다.    코드부분 2023. 08. 30 확인 갑자기 디버깅이 안되서 찾아보니, 옵션이 하나 추가되었네요. 코드에서도 해당값 true로 설정해줘야합니다.   마무리 오늘은 간단하게 WebKit 개발자모드 디버깅 하는법을 정리해봤습니다. 제가 업무를 맡고있는 팀에서는 네이티브 위주 (웹관련X) 다 보니 하이브리드 컨텐츠를 만들어주는 팀과 안될때 마다 핑퐁 치는게 쉽지 않았는데, (특히, 안드로이드는 되는데요...? 이 말이 제일 싫음) 하이브리드 컨텐츠 만드시는 팀장님하고, 얘기하다가 iOS에서도 디버깅 하는법을 찾아서 도움되는 내용이다 보니 정리하게 되었습니다. (하이브리드팀과 서로 도와가며 친하게 지내야겠습니다.) 오늘은 이만 :) 즐거운 코딩 되세요. 끝.

[SwiftUI 공부] SwiftUI @State, @Binding, @StateObject, @EnvironmentObject, ObservableObject 간단하게 알아보기

이미지
  [SwiftUI 공부] SwiftUI @State, @Binding, @StateObject, @EnvironmentObject, ObservableObject 간단하게 알아보기 안녕하세요. 물먹고하자 입니다 :) SwiftUI를 현 프로젝트에 도입하면서 급급하게 만들다보니 제가 기초를 잘 모르겠더군요 ㅋㅋ iOS 짬밥(?)으로 돌아가는 기본원리는 대략적으로 알지만, 내용정리를 해보고 싶어서 틈틈히 SwiftUI 내용 공유드릴까 합니다.   샘플코드 : @State, @Binding @State (iOS 13.0+, iPadOS 13.0+) 참조 :  https://developer.apple.com/documentation/swiftui/state Struct구조체의 경우 값의 변경이 불가능한데(mutating func을 통해는 가능) @State 값을 통해 변수를 직접변경하고, View 내부에서 사용되는 부분을 자동갱신 목적으로 사용됨. 처음 나왔을때 UI에 실시간 반영되는 형식이 매우 신기했던 기억이 있습니다. 지금은 @Binding 을 사용할때 빼고는 솔직히 잘 안쓰고 있습니다. (@StateObject를 주로사용함.) @Binding (iOS 13.0+, iPadOS 13.0+) 참조 :  https://developer.apple.com/documentation/swiftui/binding @State 값을 다른 특정 View에 대입시키는 방법으로 주소를 공유해서 동일하게 값을 변경할 수 있습니다. 공통적인 View를 분리해서 만들고 값을 공유해서 호출된 View에도 값을 전달할때 사용합니다.    샘플코드 : @ StateObject, @EnvironmentObject, ObservableObject @StateObject (iOS 14.0+, iPadOS 14.0+) 참조 :  https://developer.apple.com/documentation/swiftui/stateobject ViewModel을 선언할때 사용되며,  @Obse