본문 바로가기

분류 전체보기

(119)
[ IOS ] XCode 단축키 정리 # 프로젝트 단축키Command + N : 새 파일 생성Command + Shift + N : 새 프로젝트 생성Command + Option + N : 새로운 폴더 생성Command + Shift + J : 현재 코드 네비게이터 위치 확인Command + Shift + O : 파일 이름 검색 파일 열기Command + SHift + F : 코드 검색 파일 열기Option + [ 네비게이터 파일 클릭 ] : 새 창 파일 열기# 코드 단축키Command + L : 라인 번호 이동Command + Option + ← : 코드 접기Command + Option + → : 코드 펼치기Command + Option + [ : 하이라이팅 또는 커서가 위치한 코드 위로 이동Command + Option + ] : 하이..
[ IOS ] IOS 탈옥 - Palera1n ( 2 / 2 ) 1. AppleMobileDeviceSupport 설치 아이폰 및 PC 연결 드라이버를 설치 진행한다.  2. UsbDk 설치 Windows 운영 체제에서 USB 장치에 원격 으로 액세스할 수 있는 드라이버를 설치한다. 3. IKeyPrime 설치 아이폰의 탈옥 상태를 확인할 수 있는 툴을 설치한다.  4. WinRa1n 설치 탈옥 툴을 설치한다. 5. 아이폰 탈옥
[ IOS ] Swift 다국어 대응 // strings (English)"text_title" = "Title";// strings (Korean)"text_title" = "타이틀";// strings (Japanese)"text_title" = "タートル";// CustomUIView.swiftimport UIKitclass CustomUIView : UIView{ private let label: UILabel = { let lbl = UILabel() lbl.text = NSLocalizedString("text_title", tableName: "strings", comment: "this is title") lbl.textAlignment = .center ..
[ IOS ] IOS 탈옥 ( 1 / 2 ) 1. 탈옥 종류TypeDescription완탈(Untethered Jailbreak)영구적인 탈옥반탈(Tethered Jailbreak)부팅 동안에만 일시적으로 탈옥 상태가 유지됨재부팅 시 복구모드로 실행되어 기기를 사용할 수 없어 PC와 연결하여 재탈옥 필요준완탈(Semi-Untethered Jailbreak)부팅 동안에만 일시적으로 탈옥 상태가 유지됨재부팅 시 기기를 사용할순 있지만, 탈옥이 해제됨 PC와 연결하지 않고 설치된 앱을 통해 재탈옥 가능준반탈(Semi-Tethered Jailbreak)부팅 동안에만 일시적으로 탈옥 상태가 유지됨재부팅 시 기기를 사용할 수 있지만, 제한적인 기능만 사용가능PC와 연결하여 재탈옥 필요 2. IOS 버전 및 기기 별 탈옥 방법iOS버전WindowsmacOS지원..
[ IOS ] 프로젝트 코코아팟 라이브러리(SnapKit) 적용 1. 코코아팟이란?Objective-C나 Swift로 작성된 프로젝트에 대해 라이브러리를 관리하고, 프로젝트의 의존성을 쉽고 효과적으로 통합할 수 있도록 설계된 의존성 관리 도구루비로 작성되었으며, 수천 개의 공개 라이브러리에 쉽게 접근할 수 있는 중앙화된 저장소를 제공2. 코코아팟설치# 코코아팟 의존라이브러리 drb 설치sudo gem install drb -v 2.0.6# 코코아팟 의존라이브러리 activesupport 설치sudo gem install activesupport -v 6.1.7.6# 코코아팟 라이브러리 설치sudo gem install cocoapods# 코코아 팟 버전 확인pod --version3. 코코아팟 프로젝트 적용 # e.g. cd /path/to/directory# .xc..
[ IOS ] UIViewController 프리뷰 확인 1. 프리뷰로 표시할 UIViewController 코드 작성UIKitViewController.swiftimport UIKitclass UIKitViewController : UIViewController{ override func viewDidLoad() { super.viewDidLoad() }}  2. UIViewController 연결 storyboard 작성 3. 프리뷰를 표시할 스위프트 UI 코드 작성// ContentView.swiftimport SwiftUIstruct ContentView : UIViewControllerRepresentable{ func makeUIViewController(context: Context) -> UIKitViewCont..
[ Docker ] Nginx 헤더 취약점 방지 Nginx 화면에서 쿠키 사이즈가 클 경우 발생하는 에러 화면에서는 nginx 버전 정보등이 표시된다. nginx 버전 등을 이용한 취약점 공격이 가능하므로 서버 정보가 표시되지 않도록 해야한다.최근 웹사이트들의 쿠키 이용률이 급증하였기 때문에 웹사이트에 맞는 적절한 쿠키 헤더 사이즈를 설정 하고해당 오류 발생 시의 안내를 하여 주는 것이 중요하다.1. Nginx 환경 구축# nginx 1.14.0 버전 다운로드docker pull nginx:1.14.0# nginx 실행docker run --name nginx -d -p 8085:80 nginx:1.14.0 2. BurpSuit 또는 크롬 개발자 모드를 사용하여 쿠키 전송※ Nginx의 기본 최대 허용 헤더 사이즈는 8kb이다. 해당 사이즈를 초과하였..
[ IOS ] UIView 프리뷰 확인 1. 프리뷰로 표시할 UIView 코드 작성// CustomUIView.swiftimport UIKitclass CustomUIView : UIView{ override init(frame: CGRect) { super.init(frame: frame) loadNib() } required init?(coder: NSCoder) { super.init(coder: coder) loadNib() } func loadNib() { // 자신의 클래스명과 같은 xib 파일을 로드하여 뷰를 추가 if let view = Bundle.main.loadNibNamed(String(descr..