아이폰 앱 마이너스 앱스토어?
맥에서 애플리케이션을 만들면 앱스토어를 거치지 않고 아이폰에서 실행할 수 있는 방법이 있습니까?
공식 SDK를 사용하여 만든 애플리케이션을 계속 실행할 수 있는 한 아이폰이 탈옥해야 하는 것은 중요하지 않습니다.제가 들어갈 수 없는 이유로, 이 프로그램을 앱스토어에서 진행할 수 없습니다.
공식 개발자 프로그램
표준 iPhone의 경우 개발자 프로그램의 회원이 되려면 연간 미화 99달러를 지불해야 합니다.그런 다음 애드혹 시스템을 사용하여 최대 100대의 장치에 응용 프로그램을 설치할 수 있습니다.개발자 프로그램에는 세부 정보가 있지만 응용 프로그램 패키지에 각 장치의 UUID를 추가해야 합니다.UUID는 App Store에서 제공하는 Ad Hoc Helper를 사용하여 가장 쉽게 검색할 수 있습니다.이 방법에 대한 자세한 내용은 Craig Hockenberry의 iPhone 2.0 베타 테스트 문서를 참조하십시오.
탈옥 아이폰
탈옥된 아이폰의 경우 아이폰 OS 3.0의 가속도계 그래프 샘플 앱을 사용하여 제가 직접 테스트한 다음 방법을 사용할 수 있습니다.
자체 서명된 인증서 생성
먼저 자체 서명된 인증서를 만들고 iPhone SDK에 패치를 적용하여 이 인증서를 사용할 수 있도록 해야 합니다.
Keychain Access.app을 실행합니다.항목을 선택하지 않은 상태에서 키 체인 메뉴에서 인증서 길잡이를 선택한 다음 인증서 만들기를 선택합니다.
: 아이폰 개발자
유형:: 인증서
기본값을 재정의합니다. 네.계속을 클릭
유효 기간: 3650일
계속을 클릭
전자 메일 주소 필드를 비웁니다.
완료될 때까지 계속을 클릭합니다.
"이 루트 인증서를 신뢰할 수 없습니다"를 확인해야 합니다.이것은 예상된 것입니다.
자체 서명된 인증서를 사용할 수 있도록 iPhone SDK를 설정합니다.
sudo /usr/bin/sed -i.bak's/XCiPhoneOS 코드사인 컨텍스트/XCCodeSignContext/' /개발자/플랫폼/아이폰OS.플랫폼/Info.plist
Xcode가 열려 있는 경우 Xcode를 다시 시작하여 이 변경사항을 적용합니다.
WiFi를 통한 수동 배포
에서는 다단는다같다니가 필요합니다.openssh
,그리고.uikittools
먼저 설치해야 합니다.를 바꿉니다.jasoniphone.local
대상 장치의 호스트 이름을 사용합니다.두 개의 암호를 모두 설정해야 합니다.mobile
그리고.root
SSH 후.
애플리케이션을 수동으로 컴파일하여 시스템 앱으로 전화기에 설치하려면(Apple의 설치 시스템을 무시함):
프로젝트, Active SDK 설정, 디바이스 및 Active Build 구성 설정, 릴리스.
프로젝트를 정상적으로 컴파일합니다(빌드 & Go가 아닌 빌드 사용).
build/Release-iphoneos
앱 번들을 갖게 될 디렉토리입니다.원하는 방법을 사용하여 장치의 /Applications로 전송합니다.scp -r AccelerometerGraph.app root@jasoniphone:/Applications/
새 응용 프로그램이 설치되었음을 스프링보드에 알립니다.
ssh mobile@jasoniphone.local uicache
이 작업은 응용프로그램을 추가하거나 제거할 때만 수행해야 합니다.업데이트된 응용 프로그램을 다시 시작하기만 하면 됩니다.
개발 중에 사용자가 쉽게 작업할 수 있도록 SSH 키 인증을 설정하고 이러한 추가 단계를 프로젝트의 사용자 정의 빌드 단계로 추가할 수 있습니다.
나중에 응용 프로그램을 제거하려면 표준 SpringBoard 인터페이스를 통해 제거할 수 없으며 SSH를 사용하고 SpringBoard를 업데이트해야 합니다.
ssh root@jasoniphone.local rm -r /Applications/AccelerometerGraph.app &&
ssh mobile@jasoniphone.local uicache
예, iPhone Developer Program에 가입하고 Apple에 99달러를 지불하면 최대 100대의 iOS 기기에 애플리케이션을 프로비저닝할 수 있습니다.
- 앱 구축
- 균열 부위에 업로드
- (앱이 충분히 좋다면) 크랙 버전은 몇 분 후에 게시되고 모든 사람이 다운로드할 수 있도록 준비됩니다;-)
이 게시물의 도움을 받아 Installous 앱을 통해 설치할 스크립트를 만들었습니다. 빠른 배포를 위해:
# compress application.
/bin/mkdir -p $CONFIGURATION_BUILD_DIR/Payload
/bin/cp -R $CONFIGURATION_BUILD_DIR/MyApp.app $CONFIGURATION_BUILD_DIR/Payload
/bin/cp iTunesCrap/logo_itunes.png $CONFIGURATION_BUILD_DIR/iTunesArtwork
/bin/cp iTunesCrap/iTunesMetadata.plist $CONFIGURATION_BUILD_DIR/iTunesMetadata.plist
cd $CONFIGURATION_BUILD_DIR
# zip up the HelloWorld directory
/usr/bin/zip -r MyApp.ipa Payload iTunesArtwork iTunesMetadata.plist
위에서 언급한 게시물에서 누락된 것은 iTunes 메타데이터입니다.이것이 없으면 Installous는 앱을 올바르게 설치하지 못합니다.다음은 iTunes 메타데이터의 예입니다.
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>appleId</key>
<string></string>
<key>artistId</key>
<integer>0</integer>
<key>artistName</key>
<string>MYCOMPANY</string>
<key>buy-only</key>
<true/>
<key>buyParams</key>
<string></string>
<key>copyright</key>
<string></string>
<key>drmVersionNumber</key>
<integer>0</integer>
<key>fileExtension</key>
<string>.app</string>
<key>genre</key>
<string></string>
<key>genreId</key>
<integer>0</integer>
<key>itemId</key>
<integer>0</integer>
<key>itemName</key>
<string>MYAPP</string>
<key>kind</key>
<string>software</string>
<key>playlistArtistName</key>
<string>MYCOMPANY</string>
<key>playlistName</key>
<string>MYAPP</string>
<key>price</key>
<integer>0</integer>
<key>priceDisplay</key>
<string>nil</string>
<key>rating</key>
<dict>
<key>content</key>
<string></string>
<key>label</key>
<string>4+</string>
<key>rank</key>
<integer>100</integer>
<key>system</key>
<string>itunes-games</string>
</dict>
<key>releaseDate</key>
<string>Sunday, December 12, 2010</string>
<key>s</key>
<integer>143441</integer>
<key>softwareIcon57x57URL</key>
<string></string>
<key>softwareIconNeedsShine</key>
<false/>
<key>softwareSupportedDeviceIds</key>
<array>
<integer>1</integer>
</array>
<key>softwareVersionBundleId</key>
<string>com.mycompany.myapp</string>
<key>softwareVersionExternalIdentifier</key>
<integer>0</integer>
<key>softwareVersionExternalIdentifiers</key>
<array>
<integer>1466803</integer>
<integer>1529132</integer>
<integer>1602608</integer>
<integer>1651681</integer>
<integer>1750461</integer>
<integer>1930253</integer>
<integer>1961532</integer>
<integer>1973932</integer>
<integer>2026202</integer>
<integer>2526384</integer>
<integer>2641622</integer>
<integer>2703653</integer>
</array>
<key>vendorId</key>
<integer>0</integer>
<key>versionRestrictions</key>
<integer>0</integer>
</dict>
</plist>
분명히, MyApp의 모든 인스턴스를 앱 이름으로 바꾸고 MyCompany를 회사 이름으로 바꿉니다.
기본적으로 이것은 인스톨러스가 설치된 탈옥 장치에 설치됩니다.할 수 매우 할 수 . 웹 사이트에 된 후에 어설때수배있다속으로 . 회사 웹 사이트에 업로드하고 파일을 장치에 직접 다운로드한 후 복사/이동할 수 있습니다.~/Documents/Installous/Downloads
.
곧 출시될 Xcode 7에서는 애플 개발자 라이센스 없이도 기기에 앱을 설치할 수 있으므로 이제 앱 스토어를 건너뛸 수 있으며 기기를 탈옥할 필요가 없습니다.
이제 모든 사람이 자신의 애플 기기에서 자신의 앱을 얻을 수 있습니다.
Xcode 7과 Swift는 이제 모든 사람들이 앱을 더 쉽게 만들고 애플 기기에서 직접 실행할 수 있게 되었습니다.Apple ID로 로그인하고 아이디어를 iPad, iPhone 또는 Apple Watch에서 터치할 수 있는 앱으로 전환하기만 하면 됩니다.Xcode 7 베타를 다운로드하여 지금 바로 사용해 보십시오.프로그램 구성원 자격이 필요하지 않습니다.
인용 출처: https://developer.apple.com/xcode/
업데이트:
XCode 7은 이제 출시되었습니다.
무료 장치 내 개발 이제 모든 사람이 장치에서 자신의 앱을 무료로 실행하고 테스트할 수 있습니다.Mac, iPhone, iPad, iPod touch 또는 Apple Watch에서 무료로 자신의 창작물을 실행하고 디버그할 수 있으며 가입할 프로그램도 없습니다.Xcode에 무료 Apple ID를 입력하기만 하면 됩니다.앱스토어나 iTunes에서 이미 사용하고 있는 것과 동일한 Apple ID를 사용할 수도 있습니다.앱을 완료한 후에는 Apple Developer Program을 통해 앱 스토어에서 앱을 다운로드할 수 있습니다.
만약 당신이 탈옥의 길을 간다면, 아이폰 OS 업데이트가 이러한 앱들을 실행하는 당신의 능력을 죽일 가능성이 있다는 것에 주목할 필요가 있습니다.저는 공식적인 경로로 가서 99달러를 지불하고 허가를 받을 것입니다.앱이 손상되는 것에 대해 걱정할 필요가 없을 뿐만 아니라 상점에서 앱을 릴리스할 수 있는 기회도 얻을 수 있습니다.
@Jason Weathered가 설명한 방식으로 앱을 iPhone에 복사한 후 앱의 "chmod +x"를 확인하십시오. 그렇지 않으면 실행되지 않습니다.
*Xcode 3.2.1 및 iPhone SDK 3.1.2에서 이 기능을 수행하기 위한 변경 사항/참고 사항
WiFi를 통한 수동 배포
Info.plist를 수정한 후 Xcode를 다시 시작해야 합니다.
"uicache" 명령을 찾을 수 없습니다. killall -HUP SpringBoard를 사용하면 잘 작동합니다.
그렇지 않으면, 저는 이것이 잘 작동하는지 확인할 수 있습니다.
PwnageTool 3.1.4를 사용하는 Mac 사용자는 Jailbreaking(토렌트를 통한 DL)에 매우 효과적이었습니다.
패치를 적용하는 경우/Developer/Platforms/iPhoneOS.platform/Info.plist
그런 다음 Apple의 실제 개발 프로비저닝 프로필을 사용하여 장치에서 실행 중인 응용 프로그램을 디버깅하려고 하면 작동하지 않을 수 있습니다.증상은 다음의 이상한 오류 메시지입니다.com.apple.debugserver
또한 Xcode에서 빌드할 때 오류 없이 번들 식별자를 사용할 수 있습니다.은 솔션은복것다입니는구하루다를 복원하는 것입니다.Info.plist
.
언급URL : https://stackoverflow.com/questions/37464/iphone-app-minus-app-store
'programing' 카테고리의 다른 글
ios app 최대 메모리 예산 (0) | 2023.06.02 |
---|---|
루비 스크립트를 디버깅하는 방법 (0) | 2023.06.02 |
Objective-C가 NSString을 켤 수 있습니까? (0) | 2023.06.02 |
rhc 설정 시 'no this file dl/import' 오류가 표시됨 (0) | 2023.06.02 |
iPhone 보기가 실행되지 않는 것으로 나타납니다. (0) | 2023.06.02 |