8

1つはバックグラウンドで実行され、もう1つはフォアグラウンドで実行されている2つの異なるアプリケーション間で通信することは可能ですか?はいの場合、誰かが方法を提案できますか?

4

2 に答える 2

5

はい、iPhone の 2 つのアプリケーション間で通信を行うことができますが、いくつかのシナリオに限定されます。

  1. 通話などのイベントに応じてバックグラウンドに送信する必要があるアプリがある場合があります。そのような場合、オーディオ セッション オブジェクト (Voip ベースのアプリ) を構成し、それに応じて通知を送信する必要があります。

  2. 前の例は、非常に柔軟性の低いアプリ間で対話するだけです (重要な組み込みイベントでアプリをバックグラウンドに送信します)。これを行うもう 1 つの方法は、URL スキームを使用することです。Apple には組み込みの機能と、メールなどの特定のアプリケーションのサポートがあります。 .tel などですが、いずれかのアプリケーションが前面に出てきます。

あなたが使用してアプリケーションに組み込まれている電話番号を呼び出すことができるように:-

NSString *phURL= [NSString stringWithFormat:@"tel:%@", [NSString StringWithString:@"1-800-555-1212"]];
NSURL *phoneURL = [NSURL URLWithString:phURL];
[[UIApplication sharedApplication] openURL:phoneURL]];

ところで、カスタム URL スキームを実装する必要がある場合は、話に沿っています..それを楽しんでください。

  1. もう 1 つの方法は、特定のファイル間の相互作用を行うためのアプリ内サポートを提供するUIDocumentInteractionControllerを使用することです。添付ファイルをダウンロードします。ただし、他のアプリケーション用に変更することはできません。もちろん、コピーしてアプリケーション用に変更することはできます。
于 2012-05-15T20:00:49.040 に答える
1

これはまさにあなたが望んでいるものだとは思いませんが、アプリケーション間で対話できるようになることは間違いありません。

https://developer.apple.com/library/IOs/#documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/AdvancedAppTricks/AdvancedAppTricks.html#//apple_ref/doc/uid/TP40007072-CH7-SW18

URLスキームを使用してコマンドをアクティブ化し、別のアプリケーションで開くだけです。独自のアプリケーションに Apple のデフォルトを使用しないようにしてください。

于 2012-05-15T19:43:15.780 に答える