katoemba / swiftupnp Goto Github PK
View Code? Open in Web Editor NEWA 100% Swift based UPnP implementation
License: MIT License
A 100% Swift based UPnP implementation
License: MIT License
Hi,
I am a bit confused on the scope of this library. It's called "SwiftUPnP", but it seems that the focus is on OpenHome devices + UPnP servers.
It seems that the conventional UPnP MediaRenderer device is not supported.
Is that intentionally the scope of this library or WIP?
I just try your example code but no device came up. It come with this error "nw_connection_copy_connected_remote_endpoint_block_invoke [C3] Client called nw_connection_copy_connected_remote_endpoint on unconnected nw_connection". Can you fix this?
Hi,
Thanks for sharing this library.
I found that discovery is extremely slow. In my testing, it takes several minutes for the first device to be discovered.
Discovery in UPnP Atom was also not fast, but still much faster than this.
Would be nice if it could be fixed in the future :)
SwiftUPnP/UserAgentGenerator.swift:76: Fatal error: Unexpectedly found nil while unwrapping an Optional value
in this line
let version = dictionary["CFBundleShortVersionString"] as! String
Hi,
i tested this library with the official OpenHome demo player for Mac.
There is a problem with the "typedService()" function, as it doesn't process the "urn:av-openhome-org:service:Config:1" service type.
This results in this item being processed by the "default" of the switch statement, which will fail because this service seemingly doesn't have an eventUrl.
default: return UPnPService(device: device, controlUrl: URL(string: deviceService.controlURL, relativeTo: baseURL)!, scpdUrl: URL(string: deviceService.SCPDURL, relativeTo: baseURL)!, --->> eventUrl: URL(string: deviceService.eventSubURL, relativeTo: baseURL)!, <<--- serviceType: deviceService.serviceType, serviceId: deviceService.serviceId, eventPublisher: eventPublisher, eventCallbackUrl: eventCallbackUrl)
I need to use custom types for UPnPRegistry such as urn:av-openhome-org:service:Transport:1, but your UPnPRegistry implementation does not allow this. Can you implement setting custom types for the UPnP Registry class or make init public?
Thank you so much for your selfless dedication to this library!
My code works fine in the simulator, but not on the real machine, maybe I need to add permissions to the Plist file.
I tried to add the following code
NSLocalNetworkUsageDescription</key
In order to discover media servers we will need access to your local network. This is also needed to find Chromecast devices.
com.apple.developer.networking.multicast
</dict
Works fine on Mac, doesn't work on iOS
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.