fra3il

fra3il


Navigation
CategoryiOS
Featured

iOS

NSCharacterSet vs. NSRegularExpressionSearch vs. NSScanner

Posted on December 19th, 2013.

문자열에서 특정 문자를 제외한 나머지 문자를 제거해야하는 상황이라면?! 조건 문자열 : [[UIDevice currentDevice] name] 사용 가능한 문자 : a-z, A-Z, 0-9, -, _ 방법 NSCharacterSet View the code on Gist. NSRegularExpressionSearch View the code on Gist. NSScanner View the code on Gist. 장점, 단점 NSCharacterSet 장점 : 특수한 상황에서는 가장 간단하게 구현할 수 있다. 단점 : 문자열에 2byte 문자가 포함되어 있을 경우, 크래쉬가 발생한다....

Featured

iOS

Disable deprecated warnings with GCC

Posted on April 24th, 2013.

어쩔 수 없이 deprecated 된 코드를 사용하는 경우, 아래와 같은 방법으로 경고를 없앨 수 있다. View the code on Gist. 관련 링크 iOS: how to suppress “deprecated” warnings in XCode? Suppressing deprecated warnings in Xcode

Featured

iOS

UIImagePickerController 의 Shutter 제거

Posted on October 2nd, 2012.

보통 카메라를 간단하게 구현하기 위해서 UIImagePickerController 를 이용한다. 그냥 그대로 쓰면 참 좋겠지만 이런 저런 이유로 showsCameraControls 를 NO 로 설정해서 사용해야하는 상황에 놓이게 되고, 그러다보면 결국 커스텀.. showsCameraControls, cameraOverlayView, cameraViewTransform 등을 이용해서 그럭저럭 커스텀이 가능하나, cameraOverlayView 로 올린 뷰가 UIImagePickerController 를 처음 시작할 때 나오는 셔터 애니메이션 위에 붙어버리는 귀찮은 문제가 있다. ( 셔터 애니메이션을...

Featured

iOS

Xcode 의 CodeSnippet 을 Dropbox 로 동기화하는 방법

Posted on September 22nd, 2012.

Xcode 의 User Code Sinppets 를 이용하면 보다 편리하게 작업을 할 수 있다. 개인적으로 느끼는 불편함은 목록이 많아지면 관리가 힘들다는 점 그리고 동기화가 불가능하다는 것이다. ( 그래서 사용 빈도가 높은 것만 등록하고, 나머지는 CodeBox 로 관리한다. ) 열심히 찾아보니 동기화의 경우, 다음과 같은 방법으로 해결할 수 있었다. 1. 기존 CodeSnippets 디렉토리를 Dropbox 동기화 폴더로 이동 CodeSnippets 는 기본적으로 ~/Library/Developer/Xcode/UserData/CodeSnippets 에 저장된다. Dropbox 를 이용하여...

Featured

iOS

YouTube 동영상의 재생, 종료 시점을 확인하는 방법

Posted on September 22nd, 2012.

앱 안에서 UIWebView 를 통해서 YouTube 의 동영상을 재생하는 경우, 해당 시점에 대한 이벤트가 따로 발생하지 않아서 처리하기 애매한 경우가 있다. 검색을 해보니 아래와 같이 문서에 없는 노티피케이션을 등록하여 이벤트를 확인할 수 있다. ( 아직까지 리젝을 당한 케이스는 없는 듯.. ) View the code on Gist. 단, 주의할 점은 4.2 이하에서는 아래와 같이 노티피케이션의 철자가 틀리다. ( 원래 문제가 많은 버전이라던데.. -_-a ) View the code on Gist. 그러므로, 매크로로 처리해버리자. ( 맞나 ; ) View the code on Gist. 관련...

Featured

iOS

How to store custom class using CoreData

Posted on June 20th, 2012.

CoreData 에 Custom Class 를 저장하기 위해서는 아래와 같이 initWithCoder, encodeWithCoder 를 구현해야 한다. View the code on Gist. View the code on Gist. 관련 링크 How to store custom class using CoreData

Featured

iOS

mainBundle, Documents

Posted on May 21st, 2012.

프로젝트에 첨부한 리소스들은 컴파일 과정을 거치면서 mainBundle 에 위치하게 된다. ( 개념이 맞는지 모르겠지만.. -_- ) 기본적으로 읽기 전용이며 삭제, 수정을 위해서는 Documents 로 복사한 이후에 사용해야 한다. ( 참고로 NSSearchPathForDirectoriesInDomains 를 이용해서 경로를 가져오는 것을 추천한다. ) View the code on Gist. 관련 링크 Getting a list of files in a directory with a glob Get array of directories in documents directory

Featured

iOS

Xcode 4.3 에서 NSLog 를 통한 한글 출력

Posted on February 27th, 2012.

Xcode 4.3 에서 디바이스 테스트를 하다가 한글이 출력되지 않는 것을 알게 되었다. NSLog 에 이런 저런 테스트를 해본 결과, 2bytes 문자가 포함된 경우에 발생하는 문제라는 것까지는 확인했는데 검색을 해봐도 도통 해결 방법이 없다. 그러다가 우연히 발견한 원인과 해결 방법.. Edit Scheme – Info – Debugger – LLDB 를 GDB 로 변경하면 정상적으로 출력이 되는 것을 확인할 수 있다. ( 허나 귀찮아서 로그를 영어로 찍기 시작한.. -_- )

Featured

iOS

Doxygen

Posted on February 10th, 2012.

프로젝트 완료 이후에 문서 작업을 해야되는 상황에서 벗어나기 위해서 Doxygen 을 사용해보기로 했다. 1. 환경 설정 Wizard, Expert 탭에서 옵션을 조정할 수 있으며, 디폴트에서 변경된 옵션은 빨간색으로 표시된다. 현재 환경에서 빨간색으로 표시된 옵션은 아래와 같다. Project – PROJECT_NAME Project – PROJECT_NUMBER Project – OUTPUT_DIRECTORY Project – JAVADOC_AUTOBRIEEF ( O ) Build – EXTRACT_ALL ( O ) Build – EXTRACT_PRIVATE ( O )...

Featured

iOS

UITableViewStyleGrouped 의 둥근 테두리를 제거하는 방법

Posted on February 7th, 2012.

UITableView 를 만들 때 선택하는 UITableViewStyle 에는 UITableViewStylePlain, UITableViewStyleGrouped 가 있다. UITableViewStyleGrouped 로 스타일을 선택하면 자동으로 섹션에 따라서 셀을 묶고 테두리를 둥글게 해준다. ( 이런 것들이 기본 UI 를 사용하는 경우에는 득이 되겠지만 커스텀을 해야되는 경우라면 귀찮은 존재가 되어버릴 때가 많다. ) 여튼 커스텀을 하라고 하시니 레퍼런스를 찾아보자. backgroundView 에서 아래와 같은 내용을 확인할 수 있었다. The default is nil for cells in...