Macでアプリケーションを作成した場合、App Storeを経由せずにiPhoneで実行する方法はありますか?
公式のSDKを使用して作成されたアプリケーションを実行できる限り、iPhoneをジェイルブレイクする必要があるかどうかは問題ではありません。私が入らない理由のために、私はこのプログラムがアプリストアを通過することはできません。
Macでアプリケーションを作成した場合、App Storeを経由せずにiPhoneで実行する方法はありますか?
公式のSDKを使用して作成されたアプリケーションを実行できる限り、iPhoneをジェイルブレイクする必要があるかどうかは問題ではありません。私が入らない理由のために、私はこのプログラムがアプリストアを通過することはできません。
回答:
標準のiPhoneの場合、開発者プログラムのメンバーになるには年額99米ドルを支払う必要があります。その後、アドホックシステムを使用して、アプリケーションを最大100台のデバイスにインストールできます。開発者プログラムには詳細がありますが、各デバイスのUUIDをアプリケーションパッケージに追加する必要があります。UUIDは、App Storeから入手できるAd Hoc Helperを使用して最も簡単に取得できます。この方法の詳細については、Craig HockenberryのiPhone 2.0でのベータテストの記事を参照してください。
ジェイルブレイクされた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のインストールシステムをバイパスします):
プロジェクト、Set Active SDK、Device、Set Active Build Configuration、Release。
プロジェクトを通常どおりにコンパイルします(Build&GoではなくBuildを使用)。
では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
。
はい。iPhoneDeveloper 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
上記の投稿に欠けているのは、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がインストールされている任意のジェイルブレイクされたデバイスにインストールされます。セットアップ後は、どこからでもインストールでき、会社のWebサイトにアップロードし、ファイルをデバイスに直接ダウンロードして、にコピー/移動するだけなので、導入が非常に高速になります~/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」コマンドが見つかりませんでした。
それ以外は、私はこれがうまく機能することを確認できます。
Macユーザーは、PwnageTool 3.1.4を使用して、脱獄(torrentを介したDL)に優れた働きをしました。
パッチ/Developer/Platforms/iPhoneOS.platform/Info.plist
を適用してから、Appleの実際の開発プロビジョニングプロファイルを使用して、デバイス上で実行されているアプリケーションをデバッグしようとすると、おそらく機能しません。症状はからの奇妙なエラーメッセージでcom.apple.debugserver
あり、Xcodeでビルドするときにエラーが発生することなく、任意のバンドル識別子を使用できます。解決策は、復元することInfo.plist
です。
他のブラウザからインストールする場合は、ドロップボックスアカウントを使用してアドホックアプリやエンタープライズアプリを配布するMacアプリケーションであるAppBoxを使用できます。
ダッシュボード*
*
将来のバージョンで利用可能になります
IPAをアップロード
IPAのアーカイブとアップロード
IPAのアップロード