Syphon / Syphon-Framework

Syphon is a Mac OS X technology to allow applications to share video and still images with one another in realtime, instantly.
Other
460 stars 81 forks source link

Sandbox Support #10

Open vade opened 10 years ago

vade commented 10 years ago

Currently, our reliance on NSDistributedNotifications for Server Announce, Server Retirement, SurfaceID exposure, etc, limits Mac App Store capability due to the fact that NSUserInfo dictionaries cannot be populated to Applications running in a sandboxed environment.

This limits Syphon Framework to only be included in non Mac App Store binaries. That is sad.

bangnoise commented 10 years ago

The problem isn't limited to NSDistributedNotifications for service discovery - also CFMessage is disallowed and currently used for client setup and per-frame messaging.

We would welcome any work on this. Any pull request would ideally be accompanied with comparison of throughput and delay for any chosen alternatives.

SerialForBreakfast commented 9 years ago

Started a codebounty. https://www.bountysource.com/issues/24028084-sandbox-support

triplef commented 9 years ago

FYI we investigated using temporary exceptions to enable Syphon in our sandboxed app and found the following:

pnostudiodeveloper commented 5 years ago

I finally got Syphon working in my music visualization app, but it looks like I won't be able to publish to the App Store because of Sandboxing.... a real shame.

Any chance there might be a fix to make Syphon compatible with macOS sandboxing in the near future?

bangnoise commented 5 years ago

Not in the near future, no, unless a third party contributes it. A rough outline of upcoming Syphon work is listed here.

bangnoise commented 5 years ago

Noting that #47 is related to the inevitable IPC changes when this is done.

vade commented 4 years ago

https://stackoverflow.com/questions/8637206/is-possible-to-use-mac-os-x-xpc-like-ipc-to-exchange-messages-between-processes

Seems like an interesting solution - specifically the XPC anonymous connection vending?

bangnoise commented 4 years ago

Yes I've used this technique elsewhere but haven't tried it (or passing IOSurfaces) within the Sandbox - thanks for the note here. It would require applications add an entitlement to lookup our named service doing the brokering, which should be fine.