예상보다 조금 일찍 쓰게 됬음.. (원래 지금 쓸 생각 없었는데...ㅋㅋㅋ)


별건 없고......

보통 예제소스들은 fopen 으로 되어 있는데 대부분의 호스팅들은 보안상 저걸 막아버려서 쓸 수가 없음.

그래서 curl 로 만들어진 예제 소스를 첨부하니, 조금만 수정해서 쓰시면 되겠습니다아아아


이때 사용하는 http://cydia.saurik.com/api/check 라는 주소는 똑바로 쓰지 않으면 그냥 없는 페이지 처럼 보이므로 나처럼 url 바로 적어보는 삽질하지말고 아래 소스 따라가자..




보면 대충 다 알겠지???

난 이걸 include 해서 사용한다..

package - product 라던가, version 의 유무라던가, 기타 것들은 딱히 필요없을 것 같으니 생략함.

필요하면 레퍼런스 찾아보셔요. http://test.saurik.com/cydia-packagers/API4%2520v10.pdf


우선 조금 부가 설명을 하자면, mode 가 두가지 있는데 차이점을 모르겠다.. reculsive 가 조 금더 깊은 모드(그러니까 좀더 고급적인??)라고 설명하던데 난 차이를 모르겠더라...

대충 읽어봤을땐 결제에 사용하는 이메일 같은게 날라온다고 하는 것 같았는데 실제로 그렇지도 않고... local 이든 reculsive 든 같은 내용들을 뿌려주는 것 같았다.(구매 방식(paypal,amazon) 이라던가..)


저 소스에서는 Product 를 쓰지 않았지만, 레퍼런스를 본다면 Package 대신 Product 항목을 쓸 수도 있다.

이건 Cydia Connect 에 로그인하면 내 패키지의 product 명이 뭔지 알 수 있다.

저 소스를 vendor 로 등록되기 전에 쓴 것이라 난 Product 와 Package 의 차이점을 몰라 한참 고민했었지... ㄱ-


Vendor 와 Signature 는 Cydia Connect에 로그인해야 알 수 있다.




API Credentials 란 부분 보이지??




요런 화면을 볼 수 있다.

Vendor ID 는 일반적으로는 bigboss 에서 등록하는 아이디가 되는 것 같은데,

좀 다른 케이스를 봐서 확신은 못하겠다...ㅋㅋ

하여간 저 Secret Key 를 소스의 Signature 에 넣어주면 된다.


Secret Key 가 왜 Secret Key 인지. 즉 저걸 왜 비밀로 유지해야하는지는 모르겠지만(크게 상관없을 것 같은데..)

저 키 때문인지, 다른 이유도 있는지 하여간 기기에서 cydia 서버로 바로 확인하는건 금지하고 있다.(이 경우 Secret Key 를 일반 유저가 알 수 있으니까.) 즉, 내 서버를 한번 거쳐서 조회해야 한다.



처음 Vendor 로 등록하는 사람들은 Secret Key 등을 알 수 없으므로 서버에선 무조건 승인 메세지를 보내주고, 후에 서버에서 php소스를 수정해 주는 방식으로 해주면 됨.

'개발개발 > Mac, iOS' 카테고리의 다른 글

GSEvent.h (for hid-support)  (0) 2012.12.23
앱 설치여부 구하기 (앱스토어 사용가능!)  (0) 2012.12.08
Cydia Store 에 앱 올리기  (2) 2012.04.08
iOS 지도앱 openURL  (3) 2012.02.27
참고하면 좋은 싸이트들  (0) 2011.12.04

거창하게 적고 싶은 마음도 있지만, 어차피 보는 사람 몇 없을거니 그냥 대충 적기로 합시다..


Cydia Store 에 앱을 올린다면 알만한 전제, 정의, 설명 다 생략합니다.

제가 Bigboss 를 사용해서 올리므로, Bigboss 기준임.


이런걸 봤을겁니다...

시디아 스토어 체크하고 밑에 저기 나열한것만 다 적으면 되는 줄 알았음.....ㅠㅠ

0) 원하는 가격. - 나중에 수정 가능하다

1) 이름 (나의 경우 Kim, Seung-ho)

2) South Korea

3) just me~~

4) paypal email


저거대로 작성해서 보내면 Optimo 로 부터 장문의 메일을 받을 수 있을거임..

1. 미국인이 아니므로, w-8ben 서류 작성을 요구함. optimo 는 18세 미만이면 부모님이나 다른 어른의 이름으로 하라지만 이리저리 봐도 크게 문제 없을 것이라 판단하여 일단 무시하고 내 이름으로 서명해서 보냈음. (밑에서 다시 조금 자세히 설명)


2. Cydia Store number 필요 - PC 에서 http://cydia.saurik.com/connect 로 로그인 하거나, cydia 에서 직접 로그인 하면 #00000 식의 번호를 확인할 수 있다. 이것이 내 아이디.


3. 판매 대금에 대한 설명 - 70% / 30% 가져가며, 70% 에 대해 정부에 세금 떼야함. 조금 길어서 접었다. 주저리주저리 펼쳐보자..ㅎㅎ



4. app id 에 대해. 이게 무료앱은 상관이 없는데 유료앱은 아닌가 봄. bundle identifier 의 도메인에 대한 소유권이 있어야 함. 즉 kr.iolate.touchpose 로 앱을 올렸다면 touchpose.iolate.kr 로 접속이 가능해야하며, 그 도메인을 내가 소유하고 있어야 함. 만약 도메인이 없을 경우 org.thebigboss.[product name] 으로 해서 올리게 됨.


5. 기기 제한을 알려달라고 한다. 즉, 지원하는 기기가 아니면 애초에 팔지를 않겠다는 거.

테스트 하거나 대충 range 를 보내주자.


처음 유료앱을 올리게 되면 이렇게 해야할 것이 이것저것 많다.. 특히 다른건 똥씹은 표정으로 그냥 하면 되는데(일단 세금 문제는 무시하자..) w-8ben 에 당황...

우선 양식은 http://www.irs.gov/pub/irs-pdf/fw8ben.pdf 여기 있다. 막막해 하지 말고 저거 인쇄하고! 펜 들고! 시작!

Part 1 에 이름, 2에 국가(South Korea), 3 에 Individual 체크, 4에 영문주소, 5,6,7,8 다 건너뛰고 Part2 에 9-a 체크, 옆에 빈칸에 South Korea 적고 젤밑에 Sign Here 에 이름 적고 우측에 Date. 밑에 형식있으니 그 형식대로 적으면 끝.

한 문장으로 설명했음!! 이렇게 적은 후 잘 보이게 스캔해서 optimo 이메일로 보내주면 된다.


처음 보낼 경우 w-8ben 때문인지 시간이 좀 걸린다.

나의 경우 일요일날 보냈고(옵티모가 일요일날 확인할거라고 미리 말해줬었다) 그 주 목요일날(밤이니까 금요일?) 등록됬다.


이후 http://cydia.saurik.com/connect 로 로그인 하면 Vendor 로 정식 등록됬음을 알 수 있다..^^





특이한 점은 Package 가 아니라 Product 란 개념으로 관리된다. 즉, 여러 패키지를 하나의 Product 로 묶어서 하나 구입하면 다 구매처리 되는 방식이 가능한것으로 보이지만, 안해봤고 확인도 안해봐서 정확하지는 않다..^^

Total Sales 랑 Pending Earnings 보고 있음 재밌음..ㅋㅋ 참고로 Pending Earnings 는 시디아 수수료 30% 제한 금액이다. 즉 추가의 세금이 없다면 저 돈이 paypal 을 통해 입금된다.

보면 알다싶이 판매 그래프도 제공한다.

Device Compatibility 는 지원 버젼 수정. 여기 해당하는 버젼이 아니면 유저가 구입이 불가능 하다.

Price Points 는 가격 변경. 가격을 수정할 수 있으며, 즉시 적용 된다는 듯...

Give Free Copy 는 말그대로 무료카피 선물. Cydia id number 를 필요로 한다.



한국내에 Cydia Store 진입을 원하는 사람이 있다면 이것만으로 충분한 자료가 되었다고 생각함.

(아, 세금문제는 누구 저한테도 좀 알려주세요..ㅠㅠ w-8ben 나이제한이 세금때문에 그런것 같은데.. 긴가민가함)


또한.. 저기 Total Sales 에 보면 341 명인데 실제 기기 등록수는 1만여대가 넘는다. 즉 크랙이 판을 친다는 얘기.

크랙방지 꼭 넣자..... 다음엔 Cydia Store 결제 체크 API 에 대한 글을 쓸 예정!


구글:
지정된 핀(임의 위치): http://maps.google.com/maps?f=q&q=좌표
그냥 핀 찍고 위치 공유로 나오는 주소를 때려 넣으면 됨. 좌표 뒤에 검색어 등은 지워도 됨. 있으면 작동 안할 수도 있음.
ex> @"http://maps.google.com/maps?f=q&q=35.855387,128.637478"
등록된 위치: maps://?q=검색어&cid=아이디
이 역시 지도 앱에서 검색한 후에 링크를 쏘는 것 추천...
특이하게 cid 가 있어도 쿼리 이름이 없으면 안되더라..지정된 핀의 경우 그냥 풀 URL 다 날려도 iOS 가 알아서 지도 앱을 실행시켜 주는데 등록된 위치의 경우 안되더라..
앱으로 직접 url 쏴줘야 함.
ex> @"maps://?q=%EA%B2%BD%EC%8B%A0%EA%B3%A0%EB%93%B1%ED%95%99%EA%B5%90&cid=16795864946373944557"

다음:

(요넘 힘들었다.. 결국 다음팀에 문의..ㅋ)
지정된 핀: daummaps://look?p=좌표
이 넘 역시 핀 찍고 주소 공유하면 http://local~~ 어쩌구 주소가 나오는데 그 뒷부분만 빼오면 된다.
ex> daummap://look?p=35.850000,128.630000

검색 결과: daummaps://search?q=검색어
정말로 검색 결과를 보여줌. 예시 필요도 없다. 위에 그대로 쿼리로 쏴도 된다..ㅋ

등록된 위치: daummaps://place?id=아이디
이 넘은 핀 찍고 주소 공유하면 http://~~~~place?confirmid=아이디
이렇게 주소를 준다. confirm 만 지워주면 됨. 노란색 핀으로 찍어준다.ㅋ
ex> @"daummaps://place?id=8197517"

네이버:
별거 없다. 모바일 페이지로 들어가면 앱에서 보기 링크가 있는데 그거 클릭해서 주소 빼오면 된다.
참고로 iOS 디바이스에서 실행하면 바로 지도앱이 켜져 버리니 불가능 하고, 사파리에서 모바일 페이지로 진입 후,
개발자 모드를 켜서 user agent 를 iOS 로 바꿔준다. 그러면 앱으로 보기 버튼이 활성화 되는데 그거 누르면 주소를 알아낼 수가 있다. 더럽게 길기도 하고 그 많은 값 중 하나라도 빼면 제대로 작동안함.

등록된 위치 뿌려주는 예시:
@"navermaps://?menu=location&pinType=place&lat=35.855549&lng=128.637438&title=%EA%B2%BD%EC%8B%A0%EA%B3%A0%EB%93%B1%ED%95%99%EA%B5%90&pinId=11594033" 



참고로 사파리가 아니라 앱에서 openURL 로 실행할 때 url에 한글이 있을경우 escape 해서 보내야 함.
NSURL 이 알아서 해줄줄 알았건만, 한글로 보내면 아예 URL 자체를 무시해버린다..

'개발개발 > Mac, iOS' 카테고리의 다른 글

Cydia Store 결제 체크  (7) 2012.04.11
Cydia Store 에 앱 올리기  (2) 2012.04.08
참고하면 좋은 싸이트들  (0) 2011.12.04
SpringBoard 설정들 (계속 업데이트 예정)  (2) 2011.12.03
Window 띄우기  (3) 2011.12.03

+ Recent posts