Mar 102010
 

여기저기 짜집기한 내용입니다.

Icon.png 파일

57 x 57 pixels, with 90 degree corners -> 둥글게 처리하시면 안된다고 합니다.

shine, gloss 이펙트를 주지 말 것

알파 투명도를 사용하지 말 것 -> 투명처리도 안된다고 합니다.

홈스크린에 나타나는 이미지

Default.png

320*480으로 제작하되, 가로모드 전용 어플이므로 방향에 유의

어플 시작시 로딩중에 나타나는 이미지

512 x 512 pixels, (jpg format)

어플리케이션 아이콘 파일의 rich 버젼.

단순이 Icon.png 파일을 스케일업한 것은 좋지 않고, 더 자세한 그림이 좋다.

앱스토어에 어플관련 내용 표시에 이용됨

스크린 샷 3장 정도

앱 스토어에 표시될 스크린 샷

iPhone 상태바를 포함하지 않는게 좋다.

스크린샷은 최소 320 x 460 portrait, 480 x 300 landscape, 320 x 480 portrait 의 크기를 가질 것

어플리케이션 설명문

미리 작성해 두는 것이 좋다.

최대 4000 characters

어플리케이션 명칭

영문 11자 이내일 경우 아이폰에 표시될 때 11자 모두 출력됩니다. 예)iRemoteView -> iRemoteView 모두 표시됨

영문 12자 이상일 경우 아이폰에 표시될 때 말 줄임된채로 출력됩니다. 예)iRemoteViewer -> iRemo…iewer로 줄여진 채로 표시됨

글자 수 제약은 폰트에 따라 달라질 수 있으므로 되도록 줄이는 것이 좋을 듯 합니다.

A. 배포전에 진행사항

1. Distribution Provisioning Profiles 만들기

– 개발사이트 우측 Program portal

– App ID 만들기

: New App ID

: Description -> 어플id

: Bundle Seed ID -> Generate New (그대로)

: Bundle Identifier -> 홈페이지URL을 거꾸로 + 어플ID (예: kr.co.hello.skyworld )

– Provisioning -> Distribution

: New Profile

: (0)App Store -> Profile Name : 보통 어플 ID와 동일하게 입력 -> 위에 입력한 App ID 선택

– Provisioning Profile을 다운로드 받는다.

– Macintosh HD > 사용자 > 홍길동(?) > 라이브러리 > MobileDevice > Provision Profiles에 복사한다.

2. Xcode에서 배포파일 만들기

– Xcode project(Groups & Files) Info

: Configurations 탭에서  “Release” 항목을  아래 Duplicate한후 “Distribution”으로 Rename한다.

: Build 탭에서 좌측상단 Configuration을 Distribution으로 변경

: Base SDK를 iPhone Device 2.2.1로 변경한다.(아이폰2세대 지원할 경우)

: 항목중 Code Signing 에서 Any iPhone OS Device내용을 1.에서 만든 Provisioning Profile을 선택한다. (iPhone Distribution : 홍길동)

– Resource 그룹 중에 Info.plist를 열면

: Bundle display name을 입력하고, Bundle identifier를 입력한다.(예:kr.co.hello.skyworld)

: Bundle version은 일반적으로 1.0으로 하고 향후 업뎃할때 1.1로 함

– 배포용 파일 만들기

: 상단 툴바 상태를  [ Device – 2.2.1 | Distribution ]으로 한다. (2.2.1 지원할 경우)

: 메뉴바에서 Build를 선택한 후 [ Build ]를 한다.

: 빌드가 성공하면 Groups & Files의 Products 그룹에 Project name .app가 생성된다.

: .app에 마우스 우클릭하여  Reveal in finder를 선택한다.

: finder폴더 위치가 프로젝트 – build- Distribution iphoneos 로 연결된다.

: 확장자 없는 파일이 배포될 파일이다.

: 확장자 없는 파일을 압축한 후 (.zip) 개발 사이트를 통해 앱스토어에 등록한다.

B. AppStore에 등록하기

1. iPhone Developer Program

a. Over view

– iTunes Connect -> Manage Your Applications -> Add New Application

–  Does your prodect contain encryption ? 암호화 유무

– Application name : 앱스토어에 나타나는 이름

– Applicaiotn Description : 앱스토에에 나타나는 어플 설명

– Device Requirements : 아이폰, 이이팟 선택

– Primary Category, Secondary Category : 장르 선택

– Copyright : 자작권자

– Version Number : 어플리케이션 버전, Xcode Boundle version (예: 1.0)

– SKU Number : 개발자가 관리하는 관리코드, 본인이 관리하는 어플의 유일코드

– Keywords : 검색어 (주의사항 : 자작권위반, 유명인사이름, 애플관련 단어는 절대 안됨)

– Application URL, Support URL : 개인 블로그나 기타 어플 피드백용 홈페이지

– email…

– Demo : 리뷰어가 어플 테스트시 도움이 되는 설명사항

————————

b. Ratings

– 등급 넣기 : 일반적으로 NONE

————————

c. Upload

– Application : Build한후 zip으로 만든 파일 , Upload 완료후에 iPhone3.0테스트 완료했다는 체크 하기

– Large 512 icon : 512*512 jpg파일 -> 어플의 57*57아이콘과 동일한 이미지로 하기 , 앱스토어에 노출됨

– Primary Screenshot: 어플 화면

– Additional Screenshots : 등록할때 뒷부분 이미지부터 선택할 것 4->3->2->1순으로.

————————

d. pricing

날짜 선택 : in Review 후 Ready For Sale되면  RFS 날짜 기준으로 판매 될 예정, 손 볼 것 없음

가격 선택 : 표를 보고 확인하기.

————————

e. localization : 각 국가별 언어로  해당 언어를 따로 보여 주기

예: korean을 선택후 어플 이름, 설명을 한글로 넣으면 한국앱스토어에선 한글로 나타남

————————

f. Review

위 사항 최종 확인

————————

일단 등록 끝

C. 애플에서의 진행 상태

1) Waiting for Review : 테스트 대기상태

2) In Review : 애플에서 어플 테스트 중

3) Ready for sale : 앱스토어에 판매 대기 및 판매중

4) Reject : 판매 보류, 이후는 어플리케이션 수정후  B.사항부터 할 것 version은 수정하지 않는다.

Mar 092010
 

비교글 http://lambert.tistory.com/261

일단 touchxml선택

http://code.google.com/p/touchcode/downloads/list

 

 

libxml2 : http://xmlsoft.org/downloads.html

libxml2 사용 : http://cocoawithlove.com/2008/10/using-libxml2-for-parsing-and-xpath.html

hpple : http://yikster.tistory.com/73  (libxml2를 object-c화한듯함)

kissxml http://code.google.com/p/kissxml/ (touchxml기반?)

html 분석툴 : firebug, xpath copy기능이 유용함

Mar 052010
 

 

헤더(.h)에 UITextFieldDelegate 선언

@interface 클래스명 : UIViewController <UITextFieldDelegate>



구현부(.m)에 다음 메쏘드를 구현하면 됨

 

– (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string { 

 

//return NO하면 입력이 취소됨

//return YES하면 입력이 허락됨

//textField 이용해서 어느 텍스트필드인지 구분 가능


//최대길이

int maxLength = 128;

NSString *candidateString;

NSNumber *candidateNumber;


//입력 들어온 값을 담아둔다

 

candidateString = [textField.text stringByReplacingCharactersInRange:range withString:string];

 


if(textField == IDField) {

maxLength = 8;

} else if(textField == AgeField) {

//숫자여부 점검


//length가 0보다 클 경우만 체크

//0인 경우는 백스페이스의 경우이므로 체크하지 않아야 한다

if ([string length] > 0) {

//numberFormatter는 자주 사용할 예정이므로 아래 코드를 이용해서 생성해둬야함

//numberFormatter = [[NSNumberFormatter allocinit];

//[numberFormatter setNumberStyle:NSNumberFormatterDecimalStyle];


//numberFormatter를 이용해서 NSNumber로 변환

candidateNumber = [numberFormatter numberFromString:candidateString];


//nil이면 숫자가 아니므로 NO 리턴해서 입력취소

 

if(candidateNumber == nil) {

 

return NO;

 

}


//원래 문자열과 숫자로 변환한 후의 값이 문자열 비교시 다르면

//숫자가 아닌 부분이 섞여있다는 의미임

 

if ([[candidateNumber stringValuecompare:candidateString] !=  NSOrderedSame) {

 

 

return NO;

 

 

}


 

maxLength = 2;

 

 

 

}

}


//길이 초과 점검

if ([candidateString length] > maxLength) {

return NO;

}


return YES;

 

}

Mar 052010
 

미리 initWithNib를 호출한 후 사용해야 함

동적으로 바로 생성 후 navigation 컨트롤러에 push 등의 작업을 하려고 하면 동적 오류 발생 가능성 100%

무조건 나타나는 건 아니고 몇번 하다보면 나온다.

미리 미리 init해둔 후 사용하자

 

ㅠ.ㅠ 힘들게 찾아낸 결과다

Mar 042010
 

 

[[UIApplication sharedApplication] openURL:…]에서 URL로 사용가능

http

ftp

feed

mailto mailto://abc@abc.com?cc=aaa@aaa.com,bbb@bbb.com&subject=제목&body=내용

tel : tel:01012345678,1234

sms : sms:011-1234-5678

map : http://maps.google.com/maps?q=Suwon City

itunes : http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=1234567890&mt=8

youtube : http://www.youtube.com/watch?Uf8dkdkdk

 

custom url로 어플 실행 가능

url을 문자에 넣어서 보내면 문자에서 클릭시에도 어플 실행되거나 전화걸기 되도록 가능

1 2 3 4 5 »