inaka / EventSource

A simple Swift client library for the Server Sent Events (SSE)
Apache License 2.0
493 stars 133 forks source link

Expose to Objective C #133

Open Logikgate opened 4 years ago

Logikgate commented 4 years ago

I have a project that requires me to consume all pods with Objective C. Since Swift >= 4 requires the explicit setting of the @objc attribute to expose Swift methods to Objective C I'm currently unable to use EventSource unless I maintain my own fork with the attributes added.

Would you be open to a pull request that adds the @objc attribute to the methods of EventSource? I've looked into it and the only method that won't be as simple as adding @objc is onComplete. This is due to its usage of Bool? and Int? in the function definition. For that method I would propose a new wrapper method be created called onCompleteBridged that would be exposed to Objective C and would handle unwrapping the props to Objective C compatible NSNumber?

tanghk commented 3 years ago

Hello, Nicholas Fredricks I have a project that requires me to use EventSource with Objective C, but I don’t know how to use swift. Can you give me a demo? Regarding the use of EventSource in Objective C. thank you very much my friend

Logikgate commented 3 years ago

Hi @tanghk you should be able to use this by just adding the below to your PodFile

pod 'IKEventSource', :git => 'https://github.com/flypapertech/EventSource', :branch => 'expose-methods-to-objc'

Then importing it in your project via @import IKEventSource

tanghk commented 3 years ago

thank you very very much @Logikgate