2012-04-12 15 views
3

Windows(c#)からiPadにファイルをプッシュして後で戻したいと思っています。私はネットワーク接続がないので、これをUSBケーブル経由で行う必要があります。C#でiOSアプリケーションのDocumentsフォルダにアクセスする方法

私はManzanaを見つけましたが、iTunes FileSharingをサポートしていないようです。

ヒント私はたくさんのグーグルで探せましたが、役に立つものは何も見つかりませんでした。

"AMDeviceStartHouseArrest"のようないくつかの機能がありますが、それらを使ってファイルを取得する方法はわかりません。

+4

AFAIK不可 –

答えて

5

これを行う方法があります。

サイモンのブログポスト(http://blog.victornet.de/2011/04/10/c-manzana-iphoneipad-hausarrest/)といくつかのメールのおかげで、それは最終的に働いた。私は今、サイモンからの展開でManzanaを使用してい

MobileDevice.AMDeviceStartHouseArrestService(iPhoneHandle,  
MobileDevice.CFStringMakeConstantString(bundleIdentifier), null, ref hService, 0); 

(bundleIdentifierによって)特定のアプリケーションのための「Housearrest」を起動するには、デフォルトManzanaの方法を経由してその「/ドキュメント」フォルダにアクセスできるようになります。したがって、iDeviceをjailbreakingする必要はありません。最後に、ファイルをiDeviceにプッシュして読み戻すことができます。

サイモンに大きな支持をいただき、ありがとうございます。

+0

あなたがまだ周りにいるなら、私はあなたの解決策が働くことに問題があります。私はメソッドを定義しましたpublic static extern unsafe int AMDeviceStartHouseArrestService(void * device、void * identifier、void * unknown、ref void * handle、uint what);しかし、私がディレクトリのリストを尋ねると、私はDocuments /の代わりにMedia /にいるように動作します。アドバイスはありますか? – David

+0

私はこれを使ったコードを簡単に見てきました。次のメソッドは、パス 'targetPath'を持つファイルをデバイスドキュメントフォルダに" somefilename.ext "という名前で書き込みます。私はあなたがそれを(マークアップに疲れて)コピーして、あなたの質問に答えることを願っています。フォローアップを自由にしてください。 'string pathOnDevice = @"/Documents/somefilename.ext "; ... public bool readFromDevice(string targetPath) { if(_myIP.ReConnect( "com.bundle.identifier")) Console.WriteLine( "## Some debug output"); else falseを返します。 _myIP.getFile(_myIP、pathOnDevice、targetPath); がtrueを返します。 } ' – phhe

+1

ご返信ありがとうございます。後継のために、私はGitHubで図書館をフォークし、ハウス・アレスト・サービスを使ってディレクトリをアプリケーション・サンドボックス(メディア・フォルダではなく)にプッシュする例を掲載しました。 https://github.com/ImagineLearning-Public/MobileDevice – David

0

あなたは何を求めているのですか? ipadの標準ファイルにアクセスしたい場合は、USB大容量記憶装置として設定することができます。標準的なIOメソッド(System.IO)は、正しいパスを渡すと、デバイスに読み書きできるようになると思います。あなたがアプリケーションファイルにアクセスすることについて話しているのなら、これはiOSのセキュリティ上の懸念のために可能ではないと信じています(少なくとも標準で非jailbrokenな方法ではない)。

+0

私は、SDKに準拠した方法について話しています.AppleのDocuments-FolderにアクセスするためのiTunes-File-Sharingです。私はitun​​esmobiledevice.dllとこのファイル共有サービスの内部名であると思われる 'HouseArrest'に有望な情報をいくつか見つけました。私はそれがもっとあるとすぐに戻ってきます... – phhe

関連する問題