Можно ли использовать NSNotificationCenter между различными платформами для связи?

Приложение может использовать NSNotificationCenter для внутренних целей, чтобы разные части взаимодействовали друг с другом, но можно ли расширить его, чтобы различные платформы могли использовать его для взаимодействия на iOS?


person allenlinli    schedule 01.11.2019    source источник
comment
NSNotificationCenter предназначен для внутрипроцессного обмена сообщениями, поэтому код, являющийся частью одного процесса, может взаимодействовать через NSNotificationCenter, независимо от того, в какой среде находится этот код. Вы не можете использовать его для связи между процессами (скажем, приложением и расширение или два приложения)   -  person Paulw11    schedule 01.11.2019


Ответы (1)


В одном и том же приложении все фреймворки выполняются в одном и том же процессе. Они просто располагаются в разных местах памяти, выделенной приложением.

В одном и том же запущенном процессе NSNofitcationCenter могут взаимодействовать друг с другом независимо от того, в какой среде находятся отправитель или получатель.

Если вы говорите о приложении и его расширении, они работают в разных процессах и, таким образом, NSNofitcationCenter не могут отправлять уведомления друг другу. Вы должны использовать CFNotificationCenter

person Pofat    schedule 02.11.2019