2

Xcode でジェイルブレイクされた iPhone 用のアプリを開発しています。Xcode 4.2 を使用しており、iPhone OS は iOS6 です。XCode 4.2 は iOS6 をサポートしていないため、テストのために iPhone を XCode に接続できません。

コードをコンパイルしてシミュレーターで実行しようとするたびに、サンドボックスから抜け出せません。そこで、.ipa ファイルを作成し、iPhone にインストールしてテストしようとしました。

シミュレーターで刑務所で壊れたアプリをテストする方法はありますか?

4

1 に答える 1

3

テストする脱獄機能の種類によって異なります。完全なファイル システムにアクセスするジェイルブレイク アプリがあり、それをシミュレーターで実行すると、シミュレーターのホーム ディレクトリだけでなく、Mac 上のすべてのファイルにアクセスできます (シミュレーターのMac のアプリケーション ディレクトリを示すこちらの写真を参照)。 . これがアプリに含まれている場合は、Mac で iPhone のファイル システムを再構築し、それをテストに使用できます。ただし、iPhone のシリアル ポートにアクセスするようなことをしている場合、シミュレータには明らかにその機能がありません。

または、ビルド後のスクリプトを作成して、SSH 経由で .app ファイルを iPhone にインストールしようとしましたか? 私が使用するスクリプトは次のとおりです (変数IPODは WLAN 内のデバイスの IP ローカル アドレスで、その他は Xcode から取得されます)。

bundleid=`defaults read $BUILT_PRODUCTS_DIR/${WRAPPER_NAME}/Info.plist CFBundleIdentifier`
# kill if running, remove old version, copy new one and launch it
ssh -p $PORT root@$IPOD "killall $EXECUTABLE_NAME"
ssh -p $PORT root@$IPOD "rm -r /private/var/stash/Applications/$WRAPPER_NAME"
scp -P $PORT -r $BUILT_PRODUCTS_DIR/${WRAPPER_NAME} root@$IPOD://private/var/stash/Applications
ssh -p $PORT root@$IPOD "open $bundleid"

openコマンドは Cydia で利用できます。

これは明らかに非常に単純なスクリプトであり、おそらくより良い方法 ( を使用するなどdpkg) がありますが、私にとってはこれで十分です。

明らかに、SSH を iPhone にインストールしてアクティブ化する必要がありますkillall(すべて Cydia で利用可能)。

于 2012-12-04T16:22:05.237 に答える