Mac에서 응용 프로그램을 만들면 앱 스토어를 거치지 않고 iPhone에서 실행할 수있는 방법이 있습니까?
공식 SDK를 사용하여 만든 응용 프로그램을 계속 실행할 수 있다면 iPhone을 탈옥해야하는 것은 중요하지 않습니다. 내가 들어 가지 않는 이유 때문에이 프로그램을 앱 스토어를 통과 할 수 없습니다.
Mac에서 응용 프로그램을 만들면 앱 스토어를 거치지 않고 iPhone에서 실행할 수있는 방법이 있습니까?
공식 SDK를 사용하여 만든 응용 프로그램을 계속 실행할 수 있다면 iPhone을 탈옥해야하는 것은 중요하지 않습니다. 내가 들어 가지 않는 이유 때문에이 프로그램을 앱 스토어를 통과 할 수 없습니다.
답변:
표준 iPhone의 경우 개발자 프로그램의 멤버가 되려면 1 년에 미화 99 달러를 지불해야합니다. 그런 다음 adhoc 시스템을 사용하여 최대 100 개의 장치에 응용 프로그램을 설치할 수 있습니다. 개발자 프로그램에는 세부 사항이 있지만 각 디바이스에 대한 UUID를 애플리케이션 패키지에 추가해야합니다. UUID는 App Store에서 제공 하는 Ad Hoc Helper를 사용하여 가장 쉽게 검색 할 수 있습니다 . 이 방법에 대한 자세한 내용 은 iPhone 2.0에서 Craig Hockenberry의 베타 테스트 기사를 참조하십시오.
탈옥 된 iPhone의 경우 iPhone OS 3.0 에서 AccelerometerGraph 샘플 앱을 사용하여 개인적으로 테스트 한 다음 방법을 사용할 수 있습니다 .
먼저 자체 서명 된 인증서를 생성하고이 인증서를 사용할 수 있도록 iPhone SDK를 패치해야합니다.
Keychain Access.app를 시작하십시오. 항목을 선택하지 않고 키 체인 메뉴에서 인증 지원을 선택한 다음 인증 작성을 선택하십시오.
이름 : iPhone 개발자
인증서 유형 : 코드 서명
기본값을 무시하겠습니다. 예
계속을 클릭하십시오
유효 기간 : 3650 일
계속을 클릭하십시오
이메일 주소 필드를 비 웁니다.
완료 될 때까지 계속을 클릭하십시오.
"이 루트 인증서를 신뢰할 수 없습니다"가 표시되어야합니다. 이것은 예상됩니다.
자체 서명 인증서를 사용할 수 있도록 iPhone SDK를 설정하십시오.
sudo / usr / bin / sed -i .bak 's / XCiPhoneOSCodeSignContext / XCCodeSignContext /'/Developer/Platforms/iPhoneOS.platform/Info.plist
Xcode가 열려 있으면 다시 시작하여이 변경 사항을 적용하십시오.
다음 단계는을 요구 openssh
하며 uikittools
먼저 설치해야합니다. 교환 jasoniphone.local
대상 장치의 호스트 이름. SSH를 설치 한 후 사용자 mobile
와 root
사용자 모두 자신의 암호를 설정하십시오 .
Apple의 설치 시스템을 우회하여 시스템 앱으로 휴대 전화에서 응용 프로그램을 수동으로 컴파일하고 설치하려면 :
프로젝트, 활성 SDK 설정, 장치 및 활성 빌드 구성 설정, 릴리스.
빌드 및 이동이 아닌 빌드를 사용하여 프로젝트를 정상적으로 컴파일하십시오.
에서 build/Release-iphoneos
디렉토리는 앱 번들이있을 것이다. 선호하는 방법을 사용하여이를 장치의 / Applications로 전송하십시오.
scp -r AccelerometerGraph.app root@jasoniphone:/Applications/
새로운 애플리케이션이 설치되었다는 것을 SpringBoard에 알리십시오 :
ssh mobile@jasoniphone.local uicache
응용 프로그램을 추가하거나 제거 할 때만 수행해야합니다. 업데이트 된 응용 프로그램을 다시 시작하면됩니다.
개발 과정에서보다 쉽게 작업 할 수 있도록 SSH 키 인증을 설정하고 이러한 추가 단계를 프로젝트의 사용자 정의 빌드 단계로 추가 할 수 있습니다.
나중에 응용 프로그램을 제거하려면 표준 SpringBoard 인터페이스를 통해 제거 할 수 없으며 SSH를 사용하고 SpringBoard를 업데이트해야합니다.
ssh root@jasoniphone.local rm -r /Applications/AccelerometerGraph.app &&
ssh mobile@jasoniphone.local uicache
uicache
있으면 @ Rev316이 있어야합니다 uikittools
.
예. iPhone 개발자 프로그램에 가입하고 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
위에서 언급 한 게시물에서 누락 된 것은 iTunesMetadata입니다. 이것이 없으면 Installous가 앱을 올바르게 설치하지 않습니다. 다음은 iTunesMetadata의 예입니다.
<?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를 회사 이름으로 바꾸십시오.
기본적으로 Installous가 설치된 탈옥 장치에 설치됩니다. 설치가 완료되면 어디서나 설치할 수 있고 회사 웹 사이트에 업로드 한 다음 파일을 장치로 직접 다운로드 한 후 파일을 복사 / 이동할 수 있으므로 배포가 매우 빠릅니다 ~/Documents/Installous/Downloads
.
곧 Xcode 7을 사용하면 이제 Apple 개발자 라이센스없이 장치에 앱을 설치할 수 있으므로 앱 스토어 를 건너 뛸 수 있으므로 장치를 탈옥 할 필요가 없습니다.
이제 모든 사람이 Apple 기기에서 앱을 얻을 수 있습니다.
Xcode 7 및 Swift는 이제 모든 사람이 더 쉽게 앱을 빌드하고 Apple 장치에서 직접 실행할 수 있도록합니다. Apple ID로 로그인하고 아이디어를 iPad, iPhone 또는 Apple Watch에서 만질 수있는 앱으로 바꾸십시오. Xcode 7 베타를 다운로드하여 지금 바로 사용해보십시오. 프로그램 멤버십이 필요하지 않습니다.
인용 : https://developer.apple.com/xcode/
최신 정보:
XCode 7이 출시되었습니다 :
무료 온 디바이스 개발 이제 누구나 누구나 기기에서 자신의 앱을 무료로 실행하고 테스트 할 수 있습니다. Mac, iPhone, iPad, iPod touch 또는 Apple Watch에서 별도의 비용없이 프로그램을 실행하지 않고도 자신 만의 작품을 실행하고 디버깅 할 수 있습니다. 무료 Apple ID를 Xcode에 입력하기 만하면됩니다. App Store 또는 iTunes에 이미 사용한 것과 동일한 Apple ID를 사용할 수도 있습니다. 앱을 완성한 후에 Apple Developer Program을 통해 App Store에서 앱을 얻을 수 있습니다.
@Jason Weathered에서 설명한 방식으로 앱을 iPhone에 복사 한 후 앱의 "chmod + x"를 확인하십시오. 그렇지 않으면 앱이 실행되지 않습니다.
* Xcode 3.2.1 및 iPhone SDK 3.1.2 에서이 작업을 수행하기위한 변경 / 참고 사항
WiFi를 통한 수동 배포
2) Info.plist를 수정 한 후 Xcode를 다시 시작하십시오
3) killall -HUP SpringBoard를 사용하여 "uicache"명령을 찾을 수 없습니다.
그 외에는 이것이 잘 작동하는지 확인할 수 있습니다.
PwnageTool 3.1.4를 사용하는 Mac 사용자는 탈옥 (토렌트를 통한 DL)에 효과적이었습니다.
다른 브라우저에서 설치하려는 경우 Dropbox 계정을 사용하여 임시 및 엔터프라이즈 앱을 배포하는 Mac 응용 프로그램 인 AppBox 를 사용할 수 있습니다 .
계기반*
*
향후 버전에서 사용할 수 있습니다
IPA 업로드
IPA 보관 및 업로드
IPA 업로드