2016-09-22 3 views
0

私は2つのアプリを開発しています。メインアプリはコアデータにデータを表示するための通常のココアアプリケーションです。もう1つは、コアデータに格納されたメインアプリを使用してデータを更新するLSUIElementエージェントです。これらの2つのアプリは同じバンドルになければなりません。LSUIElementエージェントアプリケーションがコアデータを更新した後、別のアプリにどのように通知できますか?

これで、エージェントアプリがデータソースを更新した後、メインのアプリにコアデータからの表示を更新するように通知する方法がわかりません。それらは同じNSPersistentStoreCoordinatorを共有します。

最初にNSDistributedNotificationCenterを使用します。しかし、それは効率的でエレガントではないようです。

Mac OSのプロセスまたはアプリケーション間で通信するためのベストプラクティスはありますか?

ご協力いただきありがとうございます。

答えて

0

Distributed Objectsを使用できます。

は、Objective-Cランタイムは いわゆる「分散オブジェクト」プロセス間メッセージングソリューションをサポートするこのメカニズムは、異なるCocoaアプリケーション内のオブジェクト(または同じアプリケーション内 異なるスレッド)を呼び出すためにココア アプリケーションを可能にします。アプリケーションは、 であっても、ネットワーク上の異なるコンピュータ上で実行されることがあります。

+0

私は分散オブジェクトは時代遅れの技術のいくつかの種類だと思います。リンクされたページは、2007年6月6日に更新された最新のものです。 Appleはこれらのことも忘れているかもしれない。 – morphinewan

+0

私はそれを使用していますし、10.12でもうまく動作しています。 –

関連する問題