본문 바로가기

분류 전체보기

Storyboards are unavailable on iOS 4.3 and prior Storyboards are unavailable on iOS 4.3 and prior위의 에러메시지를 보고 project deployment target을 5.0으로 변경하여도 위와 같은 오류가 계속 발생하는데, 문제는 project deployment target과 storyboard의 document versioning의 버전이 서로 맞지 않아서 발생하는듯 하다.해결책은 다음과 같다: 1. 프로젝트의 deployment target이 5.0 이상인지 확인한다.2. Storyboard 파일을 열어 속성 중 document versioning의 'Deployment':5.0, 'Development':Xcode 4.2 인지 확인한다. (target이 5.0인 경우)3. Xcode를 재실행한다. 더보기
UIImage 용량 줄이기 UIImage에 imageWithCGImage: scale: orientation: 이라는 함수가 있지만, scale로 크기만 조절할 수 있을 뿐, 이를 NSData로 옮겨도 용량은 그대로이다.그림의 실질적인 용량이 줄기위해선 UIGraphics... 함수로 image를 다시 그려야 한다.다음 예제 코드를 참고한다:(http://stackoverflow.com/questions/5012695/how-to-reduce-the-uiimage-size) UIImage *image = [actualImage you want to resize]; UIImage *tempImage = nil; CGSize targetSize = CGSizeMake(196,110); UIGraphicsBeginImageContext.. 더보기
아이패드 뷰 만들기(for universal app) 유니버셜 앱(Universal app)을 만들기 위해 아이폰과 아이패드 각각의 뷰가 필요한 경우가 있다.앱이 아이폰/아이패드의 클래스를 공유하고 UI만 다르게 하고 싶다면 다음과 같이 설정하면 된다. 1. 기존 아이폰 view의 이름을 MyView.xib라고 하면, 프로젝트에 MyView~ipad.xib라는 이름으로 View를 하나 추가한다. (메뉴에서 'File->New->File...'로 들어가 iOS 항목들 중 User Interface의 View를 선택하고 'Device Family'는 iPad로 선택한 후 파일명을 MyView~ipad.xib로 지정하면 된다.) 2. Xcode에서 MyView~ipad.xib를 선택하고 메뉴의 'View->Navigators->Show Navigators' 및 .. 더보기
UIImage 방향 바꾸기 사진을 찍고 앨범에 저장한 뒤에 그 사진을 어딘가로 전송하는 것엔 문제가 없지만, 찍은 후 저장하지 않고 바로 NSData 형식으로 서버에 전송하면 사진이 찍힌 orientation에 따라 방향이 바뀌어 전송된다.이를 해결하기 위해서는 UIImage로 저장된 그림의 .imageOrientation에 따라 그림을 돌려주면 된다: // 방향 바꾸기 CGAffineTransform transform = CGAffineTransformIdentity; switch (takenImage.imageOrientation) { // UIImage *takenImage는 해당되는 그림 case UIImageOrientationDown: case UIImageOrientationDownMirrored: transform .. 더보기
No space left on device 오류 해결법 이런 오류가 발생하는 경우는 실제로 가상머신(DomU)의 용량이 부족한 경우도 있지만 xenstore가 corrupt되서 발생하는 경우도 있다. 또한, Dom0의 용량이 부족할 때도 발생한다.꼭 디스크의 용량부족이 아니더라도 디스크의 inode가 꽉 찼을 경우에도 발생한다. - 확인 방법1. 가상머신의 xenstore에서 발생한 오류(참조: http://www.devco.net/archives/2007/12/05/xen_no_space_left_on_device_sillyness.php) $ xenstore-control check명령어로 에러의 종류를 확인해본다.별 내용이 없다면 /var/log/messages 를 확인해본다.만약 다음과 같은 메시지가 등장한다면 다음 방법을 사용해본다:xenstored.. 더보기
Xen 명령어 Xen 기초 명령어 정리(xm 명령어) xen 설치를 완료하고 .hvm 설정파일을 만들었다면, 다음을 이용하여 가상머신을 컨트롤 할 수 있다: $ xm create my_vm1.hvm위 명령어로 my_vm1이라는 가상머신을 시작한다. create를 cre로 줄여써도 무방하다. $ xm list현재 실행 중인 가상머신의 리스트를 볼 수 있다. $ xm destroy 1혹은$ xm destroy my_vm1두 명령어의 차이점은 위의 경우 가상머신의 ID를 적었으며 아래의 경우 가상머신의 이름을 적었다는 점인데, 편한데로 사용하면 된다. ID와 이름은 xm list 명령어를 치면 나온다. 또한, destroy를 des로 줄여써도 무방하다. $ xm save my_vm1 my_vm1.snapshot위 명령어는 .. 더보기
UIScrollView 내부의 버튼이 동작 안 할 때 UIScrollView에 UIGestureRecognizer(혹은 UITapGestureRecognizer 등)를 추가한 상태에서 그 안에 UIButton을 넣은 경우 UIButton이 작동하지 않는 경우가 있다.iOS 5.1 이상에서는 문제 없이 작동하나, iOS 5 이하에서는 작동을 안 하는 것 같다.이럴 땐 UIScrollView에 추가된 gestureRecognizer의 설정을 다음과 같이 바꿔준다. ... [scrollTapRecognizer setCancelsTouchesInView:NO]; // default 값이 YES인 경우가 있다.... 더보기
[ssh]로그인 시 몇 초 기다려야 될 때 (느린 로그인) ssh로 ID/Password를 입력하고 로그인을 하려고 할 때 몇 초간 기다려야 하는 상황이 발생했다면 다음과 같이 DNS 설정을 확인해보시기 바랍니다: (왜 그런지 모르겠지만 ssh 서버에서 클라이언트 측의 hostname을 확인하고 싶어하는데, 클라이언트가 오프라인이기 때문에 time out되는 시간 동안 기다리는듯 합니다.) 1. /etc/resolv.conf 에 DNS가 올바로 설정되어있는지 확인합니다. Local로 연결된 상태라면 DNS를 삭제하는 것도 한 방법입니다.2. /etc/ssh/sshd_config 파일을 열어 "UseDNS no"라는 항목을 추가합니다.3. /etc/hosts에 클라이언트의 네트워크 주소를 추가합니다. 저 같은 경우는 local network로 연결된 상태에서 DN.. 더보기
du 사용법 - linux 디렉토리 용량 확인 리눅스에서는 디렉토리에서 사용하는 용량을 알아내기 위해 du라는 명령어를 쓴다. $ du를 실행시키면 현재 디렉토리에 존재하는 다른 디렉토리들과 그에 해당하는 크기(KB 단위)을 표시한다.출력된 결과의 마지막 줄은 subdirectory들을 포함한 전체 크기를 나타낸다. $ du -h위의 실행결과와 같지만 -h는 사람이 읽기 조금 더 친숙한 표현으로 출력한다. $ du -ch | grep total디렉토리의 전체 용량(subdirectory 포함)만 확인하고 싶다면 위의 명령어를 실행시키면 된다. $ du -s위와 같은 결과를 출력하지만, 'total 1234' 대신 '.1234'와 같이 출력한다. 더보기
[Postgres] psql로 모든 database와 table 보기 mysql만 사용하다가 Postgres를 배우려니 이래저래 다른 것들이 많다. psql이라는 command line tool로 postgres DB에 접속한 상태에서, DB의 내용을 보고싶다면 다음과 같이 하면 된다. \list는 전체 데이터베이스 나열, \dt는 전체 table들을 나열한다. 물론, 현재 접속한 psql의 계정에서 볼 수 있는 데이터베이스들의 내용만 보이게 된다. 더보기