5

Mac または Linux からコマンド ライン (非 GUI) を使用して、iOS デバイスにインストールされたアプリケーションのサンドボックス ディレクトリにアクセスする必要があります。これは、開発とテストの自動化に役立ちます。json ファイルをサンドボックスにドロップすると、追加のデバッグ メッセージや短い更新間隔などのパラメーターを設定できます。

iFunBox のようなツールは完璧に機能しますが、グラフィカルにしか機能しないため、これを行うには何度もクリックする必要があります。開発者への電子メールには回答がありませんでした。また、AppleScript もサポートしていません。Fuseモジュールを提供する別のアプリを見つけましたが、特にアプリをアンインストールしてから再インストールした場合(最初のユーザーエクスペリエンスにリセットするために)、バグがあることが判明しました. 開発者に問題を報告しましたが、解決の見込みはありません。

私がする必要があることは次のとおりです。

  • 特定のバンドル ID を持つアプリがインストールされているかどうかをテストする
  • Library/Caches/MYLIBNAME ディレクトリが存在しない場合は作成します
  • 〜100バイトのjsonファイルをMacからそのディレクトリにコピーします
  • そのファイルのコピーを取得する
  • Linux からのみ動作するソリューションも許容されます
  • デバイスはジェイルブレイクされていないため、要件としてそれを必要としないことを望みます

サード パーティが私のライブラリを使用しているため、アプリのソース コードを持っていない場合があります。そのため、異なるバージョンのアプリをコンパイルすることは現実的ではありません。

回答は、lxt のおかげで多くのコメントの下にあります。要約は次のとおりです。

  • libimobiledevice に関連するさまざまなライブラリとプログラムが問題を解決できます
    • パッチを適用した iFuse を使用してアプリケーション サンドボックスをマウントする
    • idevicesyslog を使用してコンソール ログを表示する
    • ideviceinstaller を使用してアプリをインストール/アンインストールする
  • libimobiledevice に関連するさまざまなライブラリとプログラムは、Linux や Mac でそのままコンパイルするのは不可能ではないにしても非常に難しく、ソースやバイナリの統一された配布はありません。
    • Ubuntu の場合は、libimobiledevice (3 つのサフィックスがある場合があります)、ideviceinstaller および libimobiledevice-utils パッケージを試してください。
    • Mac の場合、libimobiledevice-macosx を検索すると、そこに到達する可能性があります。
4

3 に答える 3

1

インストールのたびにアプリケーション名がランダムに生成されることがわかったと思うので、これは少し注意が必要です。それを超える方法はないと思います。確かに私が知っていることです。これは、新しいインストールをシミュレートするときに発生する問題を説明しています (...アプリのディレクトリ名が新しいランダムなハッシュに変更され、スタックします)。

私の好みは、この構成ファイルに別の方法でアクセスすることです (おそらくネットワーク経由で、デバッグ/テスト ビルドでのみ実行されるコードをチェックするようにします)。たとえば、新しいインストールをシミュレートするときに、最近変更されたアプリ ディレクトリを選択するスクリプトを作成するようなものです。しかし、これは非常にハックです。

デバッグ/テスト ビルドでのみ実行される条件付きコードを挿入できない場合は、iOS がファイル システム レベルで使用するランダムなアプリ命名スキーマが問題になると思います。

更新: iFuse と libimobiledevice について - そのままではドキュメント ディレクトリに制限されます。これは、iFuse の作成者が初級レベルのユーザーを混乱させないようにするためと、iOS のバージョンによって構造が少し異なるためです。fuse_opt_add_arg(&args, "-osubdir=Documents");マウントを介してライブラリ ディレクトリにアクセスするには、iFuse ソースの行をコメント アウトすることができます。これを行う場合、明らかに iFuse を自分で再コンパイルする必要があります。

于 2013-05-09T14:14:02.970 に答える
0

MobileDevice Libraryを利用できます

于 2013-05-11T06:41:49.960 に答える