외규장각 도서 환수 모금 캠페인


암호화 방법
 : 원본 스트링 -> AES256 인코딩 -> base64 인코딩 -> 암호화된 스트링

복호화 방법
 : 암호화된 스트링 -> base64 디코딩 -> AES256 디코딩 -> 원본 스트링

example)
#import "NSString+Encrypt.h"

NSString *str = @"암호화 할 문자열";
NSLog(@"암호화 : %@", [str encryptWithKey:@"암호화 할때 사용할 문자열]);
NSLog(@"복원 : %@", [[str encryptWithKey:@"암호화 때 사용한 문자열"] decryptWithKey:@"key"]);

Posted by 닉네임영역
,


■에디터에서 .h와 .m 파일 전환(토글)
⌘⌥⇡

■편집 위치 히스토리 전환
⌘⌥⇠
⌘⌥⇢

■정의로 이동(Jump to Definition), 인터페이스 빌더에서 소스코드로 이동도 가능
⌘ double-click

■레퍼런스 문서의 심볼 도움말로 이동 (기본 문서에만 적용)
⌘⇧D
⌥ double-click

■코드창 확장/축소 토글
⌘⇧E

■코드 컴플리션 (각각 범위가 다름)
Esc
Tab

■파일/멤버/심볼 등의 목록 팝업
⌃1
⌃2
⌃3

■주석 표시 (멤버 목록에 하이라이트됨)
// TODO:
// FIXME:
// !!!:
// ???:

■코드창 나누기 버튼을 클릭할 때 옵션을 누르고 있으면 가로로 나눠짐
⌥ click

■선택한 텍스트 영역의 탭 인덴트/언인덴트
⌘[
⌘]

■간결한 클래스 정의 명세 및 헬프 브라우저
Project > Class Browser
⌘⇧C

■⌘ (Command key) – Sometimes called “Apple key”()
■⌃ (Control key)
■⌥ (Option key) – “Alt” may also appear on this key
■⇧ (Shift key)
■⇪ (Caps Lock)
■fn (Function key)

Posted by 닉네임영역
,

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {

//셀 갯수 

 //controllers = NSArray

 return [self.controllers count];

}


- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {

static NSString *FirstLevelCell = @"FirstLevelCell";

UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:FirstLevelCell];

if(cell == nil) {

cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:FirstLevelCell] autorelease];

}

NSInteger row = [indexPath row];

SecondLevelViewController *controller = [controllers objectAtIndex:row];

cell.textLabel.text = controller.titie;

cell.imageView.image = controller.rowImage;

cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;

return cell;

}


#pragma mark -

#pragma mark Table View Delegate Methods


- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {

NSInteger row = [indexPath row];

SecondLevelViewController *nextController = [self.controllers objectAtIndex:row];

[self.navigationController pushViewController:nextController animated:YES];

}

Posted by 닉네임영역
,

# 3.x 버전 프레임버퍼 읽어오는 법

1. 이미지 데이터를 버퍼에 로딩
2. 텍스쳐 생성 glGenTextures
3. 텍스쳐에 이미지 데이터 지정 (이미지 크기, 포맷, 이미지 버퍼의 포인터)
4. 이미지 입힐 폴리곤 좌표 입력 (glVertexPointer)
5. 폴리곤 버텍스에 텍스쳐 좌표 입력 (glTexCoordPointer)
6. 폴리곤을 그림 (glDraw 계열 함수)


# 4.x 버전 프레임버퍼 읽어오는 법

AVCaptureDeviceInput 이용하여 읽어옴(4.0 sdk)

Posted by 닉네임영역
,

<push notification service 관련 provider>

http://code.google.com/p/apns-php/


<web 게시판과 연동>

http://code.google.com/p/cozymood/


http://cocoadev.tistory.com/#recentTrackback에서 공개한 내용임.

      *  이미지 편집 함수 모음( 스케일, 회전, crop )

  • 다양한 UI 구현
  • 테이블뷰셀 커스터마이징
  • HTTP GET/POST 요청
  • XML 파싱
  • 사진 앨범, 카메라, 지도 이미지 접근
  • 맵뷰 위치정보
  • 푸시 노티피케이션


<여러 UI 모음: photo viewer, etc>

http://github.com/facebook/three20 (초기에는 facebook 어플이었으나 현재는 여러 UI 모음으로 바뀜 )


<map>

http://code.google.com/p/route-me/


<E-mail>

http://code.google.com/p/remail-iphone/

http://code.google.com/p/skpsmtpmessage/

 

<그래프>

http://code.google.com/p/core-plot/

 

<달력>

http://ved-dimensions.blogspot.com/2009/04/iphone-development-creating-native_09.html


<sqlite>

http://code.google.com/p/pldatabase/ (BSD license)

http://code.google.com/p/flycode/source/checkout  (class rapper)


<계산기>

http://code.google.com/p/hpcalc-iphone/ (GPL V2 license)


<트위터 클라이언트>

http://github.com/blog/329-natsuliphone-iphone-twitter-client

http://code.google.com/p/tweetero/


<facebook>

http://github.com/facebook/facebook-iphone-sdk


<rss reader>

http://code.google.com/p/iphone-simple-rss-aggregator/


<ebook reader>

http://code.google.com/p/iphoneebooks/


<blog>

http://iphone.wordpress.org/


<백업, 동기화>

http://www.funambol.com/solutions/iphone.php

http://code.google.com/p/gris/ (구글 리더 동기화)


<time tracking>

http://github.com/freshbooks-addons/freshbooks-iphone-project


<게임>

http://code.google.com/p/cocos2d-iphone/

http://code.google.com/p/tris/ (테트리스)

http://code.google.com/p/mintgostop/ (고스톱)

http://www.joystiq.com/2009/03/24/carmack-releases-open-source-wolfenstein-for-iphone/

 

<google toolbox>

http://code.google.com/p/google-toolbox-for-mac/


<택배>

http://kldp.net/projects/taekbae/src

 

<이미지 프로세싱>

http://code.google.com/p/simple-iphone-image-processing/


<증강현실>

http://www.iphonear.org/


<coverflow 대체 구현>

http://apparentlogic.com/openflow/

http://www.chaosinmotion.com/flowcover.m (매가박스 어플에서 참고함)


<정규표현식 라이브러리>

http://blog.mro.name/2009/09/cocoa-wrapped-regexh/

http://regexkit.sourceforge.net/RegexKitLite/


<라이브러리 : JSON, DOM XML, Google Data APIs, Twitter, Flick, Game Engines, Unit Testr>

http://www.codingventures.com/2008/12/useful-open-source-libraries-for-iphone-development/


<기타>

http://open.iphonedev.com/

http://joehewitt.com/post/the-three20-project/

[출처] iPhone Open Source 모음  (맥부기 아이폰(iPhone)OS 개발자모임) |작성자 낙수

Posted by 닉네임영역
,

키체인 접근 > 인증지원 > 인증서 생성


1. 인증서 생성

이름 : iPhone Developer

신원 유형 : 자체 서명 루트

인증서 유형 : 코드 서명

 기본값 덮어쓰기 체크


이후 계속 진행


인증정보에 이메일 주소 넣고 이름(일반 이름)에 iPhone Developer 입력 국가 KR 입력 후 진행


인증 지원 키크기 2048비트 알고리즘 RSA 선택 후 계속 진행 후 인증서 생성


2. Info.plist 파일 수정

/Developer/Platforms/iPhoneOS.platform/Info.plist 파일 수정

<key>PROVISIONING_PROFILE_ALLOWED</key>

<string>NO</string>

<key>PROVISIONING_PROFILE_REQUIRED</key>

<string>NO</string>


3. 어플 넣기

Xcode > Window > Organizer > 어플 추가

Posted by 닉네임영역
,

0. 어플 로딩시 이미지 보여주기

     Default.png 라는 이름으로 이미지파일을 만들어서(320*480 size) 

     Xcode 프로젝트 안에 넣은 실행하면 어플 로딩시 Default.png이미지가 나옵니다

     plist파일 안의 Icon file 항목에 기재하지 않더라도

     icon.png라는 파일을 알아서 찾아서 아이콘으로 생성한다.


1. Warning을 Error로 인식시키기

1.1 File > Get Info의 Build 탭에서 검색필드에 error 입력

1.2 가장 아래의 Treat Warning as Errors 체크박스 체크

1.3 검색 필드 왼쪽에 Configuration을 All Configuration으로 선택


2. 문자열 앞에 @를 붙이면 NSString Type이라는 것을 나타냄


3. 터미널에서 실행할때 자동으로 파라미터를 넘겨주는 방법

3.1 Groups & Files에서 Executables 더블클릭해서 프로젝트 이름 더블 클릭

3.2 Arguments에서 윗부분에 + 클릭 후 파라미터 값 입력


4. 확장자가 .mm이면 이는 objectiv-c++ 코드를 사용한다는 것을 컴파일러에게 알려주는 것임


5. 헤더 파일을 포함하는 두 가지의 경우에 대한 차이점

5.1 <> : 시스템 헤더 파일을 가져옴. 읽기 전용

5.2 "" : 이 프로젝트에서만 사용되는 헤더 파일을 나타냄. 변경 가능


6. 정렬

6.1 선택 영역 자동 정렬 : control + left click > Re-Indent Selection

6.2 선택 영역 탭바만큼 밀기 : command + [

6.3 선택 영역 탭바만큼 땡기기 : commmand + ]


7. Code sense

7.1 팝업창에서 맨 왼쪽의 박스 심볼 

7.1.1 E : enum

7.1.2 f : 함수

7.1.3 # : #define

7.1.4 m : 메소드

7.1.5 C : 클래스 

7.2 esc : 코드 완성 메뉴를 보여줌

7.3 Control + . : 코드 완성에서 알맞은 다음 코드를 보여줌

7.4 Shift + Control + . : 코드 완성에서 알맞은 이전 코드를 보여줌

7.5 Control + / : 코드 완성에서 다음 입력 영역으로 이동


8. Snapshot(Command + Control + S)

8.1 현재 코드 상태를 저장해 놓은 임시의 파일이라고 생각하면 된다.

      현재 코드 스냅샵을 찍어 놓고 파일을 수정 한 후에 (저장을 해야 현재 상태 변화를 파악함)

      File > Snapshot 을 누르면 저장해 놓은 당시의 소스와 현재 저장된 소스의 달라진 점을

      한눈에 파악 가능하게 해준다.

      일반적인 스냅샷이라고 생각하면 화면읠 찍어두는 프린트 스크린을 생각할 수 있다.

      하지만 이것은 소스가 화면을 넘어가 스크롤이 생기더라도 적용이 가능하다

      즉 화면에 국한된것이 아니고 모든 소스(현재 활성화되어 있는)에 대해 적용된다는 것이다.

      < 한번 직접 해보길 바란다. >

8.2 ~/Library/Application Support/Developer/Shared/SnapshotRepository 폴더에

      디스크 이지를 저장한다. 만약 이 디스크 이미지에 문제가 생긴다면

      Xcode가 [snapshot Failed : A project snapshot cannot be created]라고 메시지를 띄움

      만약 그렇다면 이미지를 제거하고 재부팅을 해야 함


9. 검색 치화

9.1 Edit > Find

9.2 Refactoring : 해당 단어에 커서를 위치시키고 Edit > Refactor 선택

      다이얼로그가 뜨면 커서에 위치한 단어 대신에 다른 단어 입력

      만약을 위해 Snapshot 항목 체크하고 Preview로 미리 변화될 부분 확인

      Preview 클릭 후 Apply 클릭하면 Refactoring 되어있음.


10. 커서 이동(영문으로 되어 있어야 동작함 -_-^)

10.1 Control + F : 앞으로, 한칸 이동

10.2 Control + B : 뒤로, 한칸 이동

10.3 Control + P : 이전 라인으로 이동, 위로 한줄 이동

10.4 Control + N : 다음 라인으로 이동, 아래로 한줄 이동

10.5 Control + A : 라인의 시작으로 이동 (Command + 왼쪽 화살표)

10.6 Control + E : 라인의 끝으로 이동(Command + 오른쪽 화살표)

10.7 Control + T : 커서 옆의 문자로 변경

10.8 Control + D : 커서의 오른쪽 문자를 지움

10.9 Control + K : 라인의 나머지 부분을 지움

10.10 Control + L : 현재 입력하고 있는 부분을 윈도우의 가운데로 옮겨 줌

                             커서가 중심이 되어 화면 이동


11. 파일 열기 : 마우스 커서를 파일 이름에 놓고 File > Open Quickly 클릭

                       Command + Shift + D


12. 북마크 : Edit > Add to Bookmarks or Command + R

                   확인은 Group & Files 의 Bookmarks에서 확인 가능


13. 코드 에디터 창 나누기 : 우측 스크롤바와 자물쇠 아이콘 사이의 아이콘을 누르면 창 분할됨


14. 프로그램 실행 : Command + R


15. 디버그

15.1 실행 : Command + Y

15.2 Break Point : Command + \

15.3 다시 실행 : Command + Option + P

15.4 한줄 실행 : Command + Option + O

15.5 한줄 실행(함수나 메소드 있는 곳 탐색) : Command + Shift + I








Posted by 닉네임영역
,
TouchXML을 사용하기 위한 설정

1. 프로젝트 우클릭에서 Get Info 들어가서 build에서
    Setting 항목의 Search Paths 그룹의 Header Search Paths에 /usr/include/libxml2 값 설정.
    Setting 항목의 Linking 그룹의 Other Linker Flags에 -lxml2 값 설정

p.s) Paths를 제대로 인식못하여 에러가 몇백가 난다면 Paths를 다음과 같이 수정하면 된다.
       $SDKROOT/usr/include/libxml2
Posted by 닉네임영역
,
1. 이클립스 3.5 코코아 클래식 버전 설치
(java sdk는 Mac 에 설치되어 있음)

1.1 이클립스에서
      menu > help > install New Software 에
      https://dl-ssl.google.com/android/eclipse/ 입력 후 검색된거 다 설치
1.2 이클립스에서
      Eclipse > 환경설정 > Android 탭에서 sdk 입력
1.3 정상적으로 sdk 주소가 들어가면 아이콘에 안드로이드 아이콘이 생김
1.4 아이콘 클릭후 Available Packages 클릭후 install selected
1.5 우측 위쪽에 java 옆에 DDMS 띄울려면
      java 옆 버튼 클릭후 other 클릭후 DDMS선택
1.6 에뮬레이터 실행시키려면
      안드로이드 아이콘 선택 후 virtual Device에서 New 선택후 디바이스 생성
      일반적으로는 그냥 Android 선택 google map이용하려면 google api선택하여 생성

2. Xcode 실행 파일 위치
맥 > Developer > Applications > Xcode




Posted by 닉네임영역
,


사랑합니다. 편안히 잠드소서