Xcode Tips

abc여러개의 팁 모음   abc

Xcode Objective-C Macros Cheatsheet For iPhone Programmers

Advertisements

애플 앱 리뷰 페이지…

애플 링크 메이커  페이지

 

itms-apps://ax.itunes.apple.com/WebObjects/MZStore.woa/wa/viewContentsUserReviews?type=Purple+Software&id=473894134

http://itunes.apple.com/kr/app/guess-what/id473894134?mt=8

NSString *review_link = @”itms-apps://ax.itunes.apple.com/WebObjects/MZStore.woa/wa/viewContentsUserReviews?type=Purple+Software&id=473894134″;

[[UIApplication sharedApplication] openURL:[NSURL URLWithString:review_link]];

-(void) applicationWillEnterForeground:(UIApplication*)application

Why Objective-C Metaprogramming Dramatically Improves Your iOS App

출처 : http://kurtedelbrock.com/objective-c-metaprogramming/

1. Domain Specific Languages (dynamic method naming)

tap 키워드로 블락 이용.. ??

2. Validation

???

3. Templates

클래스 이름을 스트링으로 하여 관련 클래스를 동적으로 생성.

4. Mocking

유닛 테스트 시 함수를 안 만들고 간단히 리턴하는 형태로 대신할 때.

 

 

IAP plugin 설명..

일단 iTunesConnect 에서 제품 셋업을 하고 테스트 유저 1 ~ 2를 생성하면 테스트 할 준비가 된 것.

씬에 StoreKitManager.cs 스크립트가 연결된 게임 오브젝트가 있어야 한다.

네이티브 코드로 부터의 콜백함수는 그 클래스의 메소드를 부를 것이다.

애플은 구매를 ‘초기화’ 하기 전에 먼저 ‘리트리브’ 하는 앱들을 리젝 시켜왔다.

사용자에게 구매를 허용하기 전에 항상 requestProductData 를 불러주도록.

Server Product model Overview Image

스토어킷은 비동기적으로 이루어지므로 실패 유무의 콜백 함수를 유심히 봐야 한다.

중요한 함수는  productPuchased()  임..  이것이 오면 구매가 원활히 이루어진 것임.

StoreKitManager 네이티브로부터의 콜백을 모두 노출함.

[ storeKitEventListener ] 프리팹을 당신의 씬에 가져다 놓으면 미리 연결된 함수를 통해 모니터링 가능하다.

Xcode 의 로그를 보는 것이 가장 도움이 됨.

또한, StoreKitManager  프리팹은 처음 로딩 씬에 추가되어 있어야 함.

아래는 애플의 가이드라인.  다음의 이유로 product identifier 가 in valid 로 리턴될 수 있음.

# 테스팅 하지 않는 애플 아이디는 완전히 로그아웃 할 것.. ( 세팅 -> 스토어 -> 사인 아웃 )

# 금융 동의에 완전히 서명하지 않음.

# 적당한 ‘제품 아이디’를 쓰지 않음.

# IAP 제품을 for sale 로 클리어 하지 않음.

# 제품 수정이 모든 서버에 전파 되지 않았음.

# 아이튠즈 커넥트의 제품을 리젝했음.

# 앱 리뷰가 준비될때까지 바이너리를 업로드 하지 말것.  개발용 바이너리가 있으면 리젝될 것임.  방법은 :: 앱내구매 없이 올려서 승인을 받고,  바이너리가 승인을 받으면 앱내구매 기능을 테스트 한다. ??

앱내구매 테스트 팁

# 번들 아이디를 유니티 /   Xcode 에서 이중 체크 할 것.

# 프로비저닝 파일 유효

# 테스트 유저만 아이튠즈 커넥트 포탈을 사용할 것.

# 테스트 사이에는 앱을 지울 것..  requestProductData 로부터 데이터를 받을  수 있으므로.

샘플소스는 작동 안될 것임.. 참고용.

Github with Unity3d

유니티 공식 문서.. 프로에서만 작동되는 기능

블로그 설명 글… .gitignore  파일 내용 있슴..

버전 관리에 대한 블로그 글.. 지극히 편파적인 버전 관리 시스템에 대한 기억… 

한번 포함된 파일 제외하기… 터미널로 해당 디렉토리로 이동 후


git update-index --assume-unchanged   RpsOnline.userprefs