본문 바로가기

개발/App Developer

개발자 등록없이 아이폰에 등록하기

http://chris-software.com/index.php/2009/09/28/how-to-install-apps-on-devices-without-certificate/

 

How to install apps on devices without certificate

September 28th, 2009 by Chris Leave a reply »

As you know to distribute the applications in App Store or even to debug them on real device according to Apple you have to pay $99 to achieve the provisiong and distribution certificate.

But of course as you know, there are always other ways to achieve the similar result. But 1st. your device has to be jailbroken and 2nd. you can distribute your app only among jailbroken devices via Cydia, Icy or less friendly through SSH. It has advantages and disadvantage. Not all iPhones and iPod touches are jailbroken (I guess maybe 10% are), but you don’t have to obey the rules from Apple about submitted apps and you don’t have to wait at least one week for the review result.

Tasks you need to do only once (for developer):

  1. Jailbreak your iPhone
  2. Install LDID (Link Identity Editor), Mobile Termial and OpenSSH from Cydia
  3. Go to /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS3.sdk/
    I personally tested in on 3.0 that’s why I put that in bold, if you are going to built your app on a higher SDK, go to the appropriate directory.
  4. Open the SDKSettings.plist in your favorite editor (I recommend Property List Editor in Utilities) and in Root -> DefaultProperties set CODE_SIGNING_REQUIRED = NO. BTW check if AD_HOC_CODE_SIGNING_ALLOWED equals NO and CODE_SIGNING_ENTITLEMENTS is blank.
  5. Save the file.

Please remember: modification of above .plist file simply allows you to build the package without signing it, so from now, you are able both to built package for Cydia and AppStore submission. Of course for App Store submission you provide a Distribution profile, for Cydia “Don’t Code Sign” in your project info under Build, Code Signing, Code Signing Identity, Any iPhone OS Device.

Tasks you need to do for every package (developer):

  1. Build your project without signing it (Don’t Code Sign).
  2. SSH your bundle to /Applications on your device. You can use Fugu for Mac or  WinSCP for Windows.
  3. Now you have to fake-sign it to make it working. Open Mobile Terminal and type:
    su root
    you will be asked for password, by default: alpine. Next:
    ldid -S /Applications/My\ Project\ Name.app/My\ Project\ Name
    make sure every space in name comes with the backslash before
  4. If any error occurs, it means that you have provided wrong file path or didn’t built it with “Don’t Code Sign”.
  5. Now you can test your application, how it works on real device with full touch control, accelerometer and device’s performance, it’s really different from the Simulator.
  6. If everything works correctly download the file that you modified with ldid – it’s the file named exactly the same as your project without any extensions, and replace it with original from your bundle.
  7. Now you can distribute it in your own way.

 

 

 

바로 윗부분에 빨간색 큰글씨로 된 부분을 이해하지 못하겠습니다.

여기서 bundle이 뜻하는 게 뭐죠? 컴파일 한 디렉토리를 얘기하는 건가요? 빨간색 큰글씨로 된 부분 설명 좀 부탁드립니다. Fugu나 WinSCP는 알고 있습니다.

 

 

걍 해석을 해드리면...
SSH your bundle to
/Applications on your device. You can use Fugu for Mac or  WinSCP for Windows

당신의 기기의 /Applications 폴더에 SSH를 이용해서 번들을 넣으세요. 맥에서는 Fugu 프로그램을 윈도우라면 WinSCP 같은 프로그램을 사용할 수 있습니다.

정도가 되겠네요.
즉 Fugu 프로그램을 이용해서 해당 폴더에 넣으라는 예기 같습니다만...
SSH는 리눅스나 유닉스 혹은 맥에서도 사용되는 Telnet에 암호화 한 프로토콜이라 보시면 되구요
Fugu나 WinSCP는 SSH방식을 이용한 FTP프로그램 같습니다.

패키지 만드셔서 /Applications 폴더에 FTP를 이용해서 업로드 (복사)해라 가 되는거 같습니다.
그러나 안해봐서 잘 모르겠네요.. ㅎㅎ

아. 아이폰에서 SSH를 사용하게 하려면 특정 프로그램을 설치(시디아에서)해야 하는것으로 알고 있습니다.
아이폰도 탈옥이 되어 있어야 하구요.

오~~

저는

1. Build your project without signing it (Don’t Code Sign).

여기까지만 했는데 잘되네요 ^-^

 

그 밑은 굳이 할필요 없을 듯 한데요?


'개발 > App Developer' 카테고리의 다른 글

UITextView keyBoard  (0) 2010.08.31
터치 관련  (0) 2010.08.31
CGRect  (0) 2010.08.31
앱 기기 별 등록  (0) 2010.08.31
xcode svn 설정  (0) 2010.08.31