2010-11-23 20 views
3

2つのiPhoneアプリケーションがあります。 1つのアプリケーションはフォアグラウンドで実行され、もう1つはバックグラウンドで実行されます。フォアグラウンドに入らずにUSB経由でデータを送信するバックグラウンドアプリケーションを得る方法はありますか?理想的には、フォアグラウンドアプリをフォアグラウンドに保ち、バックグラウンドアプリは何らかのデータを処理します。データが処理されると、データが処理されたことをフォアグラウンドアプリに通知します。バックグラウンドで実行されているiPhoneアプリケーションは、USBインターフェイス経由でデータを転送できますか?

+0

私は本当に愚かなので、これをコメントに入れていますが、主なアプリケーション内でバックグラウンドプロセスをバックグラウンドスレッドとして実行してみませんか?私はかなりiPhoneアプリがバックグラウンドで実行されないことを確信しています。これは、おそらくあなたの唯一の選択肢であることを意味します。 – MusiGenesis

+0

iPhoneアプリはバックグラウンドで実行できますが、完全に不要です。バックグラウンドスレッドも不要です。ただ非同期I/Oを使用してください! –

答えて

2

いいえできません。あなたがMade for iPhoneプログラムに参加していない限り、プライベートフレームワークを使用しなければこれを行うことはできません。もしあなたがそうであれば、あなたの組織は利用可能な文書に基づいて、いつ、どのように、いつ、どのようにアクセスできるか、またアクセスできないかを知るでしょう。

Made for iPhoneプログラムに参加する必要があり、いつアクセスできるかが不明な場合は、このプログラムのAppleとの技術的連絡先である組織内の担当者に連絡してください。あなたの詳細。

+0

素早く対応してくれてありがとう。 – Lexy

0

アプリケーションがフォアグラウンドになっているときにタスクが開始され、適切なbeginBackgroundTask/endBackgroundTaskメソッドを呼び出すと、アプリケーションがバックグラウンドになった後でもアプリケーションを実行し続けることができるはずです。

USBへのアクセスが制限されていること(jerの回答を参照)と、同じデバイス上の異なるアプリ間で通信するための正式な承認方法はないことに注意してください。また、App Storeで一度に1つのアプリしか購入/ダウンロードすることはできません。アプリを承認しても、アプリが動作するためには2番目のアプリをダウンロードする必要があります。だから、最初に解決すべき大きな問題があるかもしれません。

+0

迅速な対応に感謝します。 USBへのアクセスが制限されている場合は、Bluetooth APIを使用してデータを転送できますか? – Lexy

+0

明確にするために、データが転送されるデバイスはiOS以外のデバイスです。 – Lexy

0

あなたが実際に達成したかったことをお聞かせください。たとえば、「ユーザーの電話でMyAppを使用して、ユーザーのコンピュータでMyAppと通信する」とします。

携帯電話とコンピュータ間でデータを送信するのが最も簡単な方法は、両方が同じWi-Fiネットワーク上にあることを要求することです。いくつかのiPhoneアプリにはWebサーバーが組み込まれています(これはOS 3.2より前の「ファイル共有」の最も簡単な方法でした)。さらに多くのiPhoneアプリはサーバーソフトウェアを実行しているコンピュータに接続します。

あなたの他のオプション、多かれ少なかれ:

  • GameKitのブルートゥース側をリバースエンジニアリングし、コンピュータ側でそれを再実装。私はこれをやった人は誰も知らない。ゆるやかに、私はそれがBluetooth PANのIPとBluetoothサービス発見の何らかの種類のものだと思う。
  • オーディオ入出力。ヘッドフォンジャックまたはドックコネクタの特定のピン。私は、マイクの側がどのように機能するかは完全にはわかっていません(私がチェックしたとき、抵抗はカーボンマイクのために少し高くなっていました)。しかし、あなたは幸運にも「ラインイン」にしたり、ドックコネクタのピン。
  • iDevice画面(およびiDeviceカメラがコンピュータ画面を指す)を指すウェブカム。 Ewwwww。
  • MFiプログラムに参加してください。
関連する問題