본문 바로가기

IOS41

iOS에서 카메라 필터를 만드는 법 조사 (LUT Lookup Image) 한 3년전 GPUImage 라이브러리를 활용하여 카메라 앱을 하나 개발 했었다. 그때 당시 라이트룸으로 한창 사진을 보정해보고 있을 때라 카메라로 찍어서 컴퓨터에서 작업하기 귀찮아 내가 만든 프리셋을 앱으로 만들어 버렸던 것이다.(사실 내가 필요해서 만듦.) https://apps.apple.com/kr/app/moment-july-camera-filters/id1448199130?l=en ‎Moment July - Camera Filters ‎Moment July is a photo filter application which has an atmosphere of July. Every filter in the application feels like bluish and cool and reminds o.. 2022. 10. 10.
아이폰 탈옥하기 (iPhone Jailbreak with unc0ver, Altstore) 어쩌다보니 iOS 보안쪽 프로젝트를 하게 되면서(보안을 벗어나나..싶었는데..) 가장 먼저 필요한 것이 바로 탈옥된 아이폰이다. 탈옥된 아이폰이 있어야 여러가지 취약점 테스트, iOS 시스템의 내부 구조들을 볼 수 있기 때문이다. 아이폰를 꽤 오래 사용하고 있음에도 단 한번도 아이폰을 탈옥시킨 적이 없었다. 내 정보가 들어있는 아이폰의 보안을 무너뜨리기 싫었기 때문이다. 때문에 이번 작업은 나도 처음이다. 주의- 함부로 따라하지 마세요. 0. itunes & icloud 설치 최신 itunes를 설치하자.(마이크로소프트 스토어에서는 설치하지 말고..) https://www.apple.com/kr/itunes/ iTunes 최신 macOS가 음악, 영화, TV 프로그램, 팟캐스트, 오디오북, 그 밖에 다양.. 2022. 10. 6.
Swift 프로그램 종료하기 exit(0) Swift문법을 공부할 겸 Swift로 코딩테스트 문제들을 풀어보고 있다. 그 중 난해한 점이 있는데 바로 프로그램 종료이다. Swift는 main.swift에서 글로벌로 실행되어 따로 main함수가 없다. C같으면 return 0 로 메인함수를 종료 시켜 프로그램을 종료시킬 수 있지만 도대체 swift는 어떻게 프로그램을 종료시킬까? 찾아보니 간단하게 exit(0) 함수를 호출하여 종료 할 수 있다고 한다. 단, 주의 할 점은 Foundation을 import해야한다. 다음은 프로그램 종료 예시 이다. import Foundation var kgSugar = Int(readLine()!)! var bags = 0 while kgSugar >= 0 { if kgSugar % 5 == 0 { bags +=.. 2022. 7. 9.
Swift 삽입정렬, 선택정렬, 퀵 정렬 Swift 언어에 좀 익숙해 보고자 알고리즘에서 제일 처음에 나오는 정렬 코드를 짜보았다. 간단하게 함수, 배열, 조건문, 반복문 등을 익일 수 있었다. 1. 삽입정렬 func insertionSort(arr: inout [Int]) { for i in 1 .. 0 && arr[j - 1] > key { arr.swapAt(j - 1 , j) j-=1 } arr[j] = key } return } 2. 선택정렬 func selectionSort(arr: inout [Int]) { for i in 0 ..< arr.count { var min = i for j in i ..< arr.count { if arr[min].. 2022. 7. 3.
React Native Typescript(타입스크립트)로 프로젝트 생성하는 법 보통 React Native 프로젝트를 생성할 때 아래 명령어를 사용하게 된다. npx react-native init MyTestApp 하지만 이렇게 하게되면 자바스크립트 기준으로 프로젝트가 생성되기 때문에 나중에 타입스크립트로 전환이 쉽지 않다. 처음부터 타입스크립트로 프로젝트를 생성하면 자바스크립트와 타입스크립트를 같이 사용할 수 있게 된다. 왜냐면 타입스크립트는 자바스크립트의 Superset이기 때문이다. 다음 명령어로 React Native 프로젝트를 타입스크립트 프로젝트로 생성 할 수 있다. npx react-native init MyTestApp --template react-native-template-typescript 조금 명령어가 다소 길어보이나.. 유용하게 써먹을 수 있을 것이다. .. 2022. 3. 6.
React Native 빌드 Clean하는 법(안드로이드, iOS) 다음은 React Native 안드로이드 빌드 환경에서 build clean하는 법이다. XCODE cd ios xcodebuild clean Android cd android ./gradlew clean for windows cd android gradlew clean 2022. 2. 25.
iOS UIKit 튜토리얼 - Frame vs Bounds 이번 포스트에서 공부해볼 내용은 UIKit의 Frame과 Bounds이다. iOS에서 뷰를 출력하기 위해서는 Frame과 bounds를 지정해야 화면에 출력할 수 있다. let firstView:UIView = { let view = UIView() view.backgroundColor = .red view.clipsToBounds = true return view }() let secondView:UIView = { let view = UIView() view.backgroundColor = .blue return view }() override func viewDidLayoutSubviews() { firstView.frame = CGRect(x:20,y:100,width: 300,height: 30.. 2021. 4. 20.
iOS UIKit 튜토리얼 - UITableView - 3 // Section 이번에 포스트에서 진행할 튜토리얼은 UITableView의 Section기능이다. UITableView에는 여러종류의 데이터를 나워서 표현할 수 있는 Section이라는 기능을 제공한다. 흔히 연락처 앱에서 가,나,다 혹은 ABC 순으로 Section을 나워서 보여주는 것을 볼 수 있다. 1. Section 정의하기 section타이틀을 정의한다. 이번 포스트에서는 2개의 타이틀을 정의 하였다. let sections = ["mydata", "mydata2"] 2. 데이터 정의하기 섹션을 2개 정의 하였으므로 데이터도 두개의 데이터를 정의해준다. let myData = [ NameEmail(name: "James",email: "James@gmail.com"), NameEmail(name: "LaLa",.. 2021. 4. 17.
iOS UIKit 튜토리얼 - UITableView - 2 / TableViewCell 커스텀하기 이번 포스트에서는 지난 포스트(lucidmaj7.tistory.com/290)에서 만들었던 TableView의 Cell을 커스텀해보는 방법을 알아 보겠다. TableView Cell은 단순히 Label만 넣을 수 있는게 아니라 다양한 형태의 뷰를 표현하여 데이터를 표현할 수 있다. 예를 들면 카카오톡의 친구목록 UI를 보면 프로필사진, 이름, 알림메시지 등을 보여주고 있다. 이번에는 TableView Cell을 커스텀하여 이름, 이메일 목록이 출력되는 Cell을 만들어 보자 1. TableViewCell UI 레이아웃 수정하기 지난번 추가해놓은 TableViewCell에 두개의 Label을 추가해준다. 하나는 이름이 출력되고 다른 하나는 Email이 출력 될 것이다. Identifier는 MyCell이라.. 2021. 4. 9.