watson-developer-cloud / swift-sdk

:iphone: The Watson Swift SDK enables developers to quickly add Watson Cognitive Computing services to their Swift applications.
https://watson-developer-cloud.github.io/swift-sdk/
Apache License 2.0
878 stars 222 forks source link

Add build targets for macOS, watchOS, and tvOS #129

Closed glennrfisher closed 5 years ago

glennrfisher commented 8 years ago

Some references that may be helpful:

glennrfisher commented 8 years ago

It will be interesting to learn more about the Swift Package Manager. So far, I haven't seen any information about customizing builds for various platforms. Perhaps we will not need to worry about this after we support SPM?

Note that current the SPM does not support iOS, tvOS, or watchOS.

thomaspaulmann commented 8 years ago

What is the current state of this issue? Is it still on the roadmap to support also the other OS? I couldn't found a specific branch for this topic. Do you have something locally that you want to share?

glennrfisher commented 8 years ago

We're still working on longer-term plans for the SDK. Right now we tend to plan sprint-by-sprint, and adding support for missing services usually takes priority over some of these other issues.

We're interested to see whether the Swift Package Manager will help us to tackle this issue. But right now, there's no information about how or when it will support platforms besides OS X.

If you have a particular use case we would be happy to investigate. For example, if you're interested in running Visual Recognition on OS X, then we can experiment with adding targets for you and running the tests for an OS X build. Just let us know and we'll see what we can do!

thomaspaulmann commented 8 years ago

I have indeed some use cases for OS X applications, especially for the Alchemy APIs. I will have a look at the setup. The project is quite big and I'll try to get an overview. Maybe we can start a separated branch for supporting OS X in a "beta" version?

glennrfisher commented 8 years ago

Sure! Would love to help.

I started looking at OS X support this morning but ran into a code signing problem with Freddy. I created an issue (bignerdranch/Freddy#175).

Once that problem is resolved I can continue investigating OS X support. I'll be sure to push a branch once there's something worth sharing.

glennrfisher commented 8 years ago

@thomaspaulmann: I figured out the code signing error. It was because I had an older version of Carthage installed. Assuming the macOS targets would still be useful to you, I'm hoping to take a look at this later in the week.

thomaspaulmann commented 8 years ago

@glennrfisher Great! The error with Freddy was also caused by the code signing issue? Then I will have a look to build it for macOS :-)

glennrfisher commented 8 years ago

Check out the macOS-targets branch. I was able to create targets for RestKit and VisualRecognitionV3 that build on Mac!

Are there particular services that you'd like to use on macOS? I'm happy to add support for them.

I'm a bit hesitant to add all services right now because I'm not sure how the project file might change. It's already fairly cumbersome with just iOS targets. Adding macOS, tvOS, and watchOS targets for each service would create 64 targets, which becomes a bit unmanageable.

This might be a good opportunity to split the current mega-project into a project (and repository?) for each service. Then each project would only have 4 targets. That would also speed-up the Carthage build process by allowing clients to choose the particular services they want to use in their Cartfile. The downside, though, is that it could be confusing on Github to have multiple repositories.

If you have an opinion about how to manage the project file and whether you'd find multiple repositories confusing, I would love to hear it!

loudinb commented 7 years ago

I cannot locate the macOS-targets branch that you reference, is it still around? I am trying to build an app on macOS that utilizes DocumentConversion, but I am having problems. I was hoping to use your macOS-targets branch as a reference to figure out what I might be doing wrong.

glennrfisher commented 7 years ago

I'm afraid not, @loudinb. But here are a few options that might help:

  1. If you're just looking to use the code as reference, you can view it here on GitHub.

  2. Use the Swift Package Manager to specify the Watson Developer Cloud iOS SDK as a dependency (instead of Carthage, as the readme suggests). SwiftPM builds the SDK in a way that should compatible with macOS and can be used in your project. Here's an example that imports DocumentConversionV1 to test this out. You can execute it on your machine with the command: swift build; .build/debug/Watson.

  3. If you'd like to contribute to the SDK you could fork it, add macOS targets, then open a pull request to merge your changes.

busywq commented 6 years ago

Any chance to support Speech-To-Text for macOS?

mkistler commented 6 years ago

We would like to do that, but it won't be until after our "v1.0" release (coming soon!).

TerenzeY commented 5 years ago

Any updates on this:

Any chance to support Speech-To-Text for macOS?

germanattanasio commented 5 years ago

No update @TerenzeY

jeff-arn commented 5 years ago

We are looking into adding these targets in our next major release (this fall), as there will be some added Swift Package manager support included in that release.

stale[bot] commented 5 years ago

This issue has been automatically marked as stale because it has had no recent activity. It will be closed if no further activity occurs. Thank you for your contributions.