2011-12-15 67 views
3

一個應用程序可以讓內部使用NSNotificationCenter爲不同的部分相互溝通,但可以擴展,使不同的應用程序可以使用它來溝通?NSNotificationCenter可以在不同的應用程序之間進行通信嗎?

編輯:對不起了解iOS與OSX的混亂。我只添加了iOS標籤,我不知道/ who /爲什麼還添加了objective-c標籤,這不是我。

+2

你問的iOS,答案已經存在。不過,對於Mac OS X,「NSDistributedNotificationCenter」在跨進程邊界上發佈通知。 – 2011-12-15 22:38:18

回答

2

抱歉簡短的答案,但在這種情況下,這一切就是這麼簡單 - 沒有他們做不到。

可以註冊以處理URL類型,然後啓動通過一些數據的方式。

0

我認爲你需要一個服務器來處理兩個應用程序之間的通信。

你說你想要的應用程序A和應用B相互通信。同時擁有應用程序定期報告自己的「位置」發送給服務器S.另外兩個應用程序應該聽S.

不知道如何有效地在後臺運行的應用程序可以偵聽來自服務器的數據。

可能有助於尋找到怎樣的iOS即時消息應用程序的工作。也許有一些開源項目可以幫助解決這個問題(並且可以根據您的需求進行調整)。

+0

你如何在iOS中實現服務器?我不認爲這樣的事情是可能的。 – Gruntcakes 2011-12-15 22:23:05

+0

@BiscutWoofington:我認爲他意味着另一臺機器上的服務器,用任何你想要的技術來實現,並且在這兩個應用程序中維護與服務器的套接字連接。 – 2011-12-15 22:29:35

0

Nick's answer當然是正確的,但如果你正在尋找一個替代NSNotificationCenter,該進程之間的作品,你可以嘗試使用CoreFoundation.framework達爾文通知機制。如果您使用達爾文通知中心,這可以在流程之間運作。

See example here on Stack Overflow

... and another one with an example callback

請注意,我還沒有在iTunes App Store中的應用程式使用這個。 These APIs are not private,但是蘋果當然可以拒絕他們喜歡的任何東西的使用,即使它不是私有API。我只是提供此解決方案作爲的可能性,但無法預測App Store的可接受性,甚至不知道您(或閱讀此頁面的其他人)是否需要將其應用程序提交到App Store。

I'll also link to this similar question (currently unsolved)

相關問題