2012-01-27 8 views
1

私はリアルタイムで同じ電話機のアプリケーション間のタイムスタンプを比較する方法を探していました。NSDistributedNotificationCenterは、リスニングするアプリの名前を知りませんそのためには、iOSでは利用できないように聞こえます。iPhoneアプリ間の通信のためのNSDistributedNotificationCenterに代わる

時間の影響を受けやすいイベントを複数のアプリに通知する同等の方法はありますか?

iOS 5+をコーディングして問題のアプリが通知のために登録すると仮定します。

+0

私はアプリ間のURLハンドラで遊んでいましたが、私がやるべきことをほぼ達成することができます。 URLハンドラに固有の2番目の質問は、次の記事に興味がある場合はここにあります:http://stackoverflow.com/questions/9044160/iphone-inter-app-url-handling-can-it-be-done -in-the-background – Amos

+0

これまでは、MachPorts以外の唯一の/最良の答えは、外部のサーバからバウンスすることでした。私はこれを今のところ嘘にさせるつもりだ... – Amos

答えて

0

jailbrokenされていないデバイスであなたが求めていることに最も近いのは、あなたのサーバーにお互いのアプリケーションのサーバーと通信し、そのサーバーに問題のアプリケーションにプッシュ通知を送信させることです。 NSDistributedNotificationCenter(あなたが推測するように、iOSでは利用できない)がなければ、実際には他の選択肢はありません。

+1

本当は。私の答えをチェックしてください。それはOSの好きに隠されているだけです:) Foundationだけがフレームワークではありません。 –

3

CPDistributedMessagingCenter/System/Library/PrivateFrameworks/AppSupport.frameworkでご覧ください。しかし、これはプライベートフレームワークです(OSリリースでは変更され、AppStoreでは許可されません)。ここ

ドキュメント:ここに私のhttp://iphonedevwiki.net/index.php/CPDistributedMessagingCenter

例コード:

https://github.com/H2CO3/PwnTube

https://github.com/H2CO3/Cereal

+0

ありがとう、それは私が探しているものです!残念ながら、私はアプリストアに適切に提出する能力が必要です... – Amos

2

私はあなたがマッハポートを使用することができますかなり確信しています。彼らは少し低レベルですが、うまく機能します。

+0

AppStoreでも許可されるかもしれません:) –

+0

マッハー・ポートを使用している場合のサンプルコードはありますか? – Amos

+0

ああ、これはかなり重いもののように見える... – Amos

1

iOSでCFNotificationCenterGetDistributedCenter()を使用する方法が見つかりました。端末には存在しますが、iOS SDKでのエクスポートはありません

void *libHandle = dlopen("/System/Library/Frameworks/CoreFoundation.framework/CoreFoundation", RTLD_LAZY); 
CFNotificationCenterRef (*CFNotificationCenterGetDistributedCenter)() = (CFNotificationCenterRef (*)())dlsym(libHandle, "CFNotificationCenterGetDistributedCenter"); 
if(CFNotificationCenterGetDistributedCenter) { 
    CFNotificationCenterAddObserver(CFNotificationCenterGetDistributedCenter(), NULL, &NotificationUpdateApp, CFSTR("TestApp"), NULL, CFNotificationSuspensionBehaviorCoalesce); 
} 
dlclose(libHandle); 
0

この質問は少し古くなっていますが、私は情報目的のために回答を投稿します。

NSDistributedNotificationCenterはまだiOSでは利用できません.AppStoreでリリースするふりをしないアプリを開発している場合を除き、AppSupport.frameworkはプライベートなので使用できません。

iOS8は、他のアプリと通信する機能を提供するApp Extensionsをリリースしました。私はあなたが正確に何をしようとしているのかわかりませんが、あなたが他のいくつかのアプリからいくつかのタイムスタンプを比較しようとしているのであれば、あなたの問題を解決するはずです。 AppExtensionsドキュメントへ

リンク: https://developer.apple.com/library/ios/documentation/General/Conceptual/ExtensibilityPG/

が、それは誰かがお役に立てば幸いです。

関連する問題