rive-app / rive-ios

iOS runtime for Rive
MIT License
491 stars 57 forks source link

include/core/SkSurface.h file not found #137

Closed AirborneEagle closed 2 years ago

AirborneEagle commented 2 years ago

Description

Cannot use in my app. Also cannot even run the examples.

Provide a Repro

https://github.com/rive-app/rive-ios

NOTE: I am new to the XCode world, so I very easily could be overlooking something simple.

AirborneEagle commented 2 years ago

for more information, here is another chunk of the error. image

zplata commented 2 years ago

Hey @AirborneEagle - thanks for reporting this. The docs are definitely a little tough to follow for local development and running the example app - we'll get this cleaned up and the ios runtime in a better shape, docs-wise and example-wise.

You may need to make sure your submodules/rive-cpp submodule is pulled down. You could do that via git submodule update --init --recursive at the top level. Then you could run the dependency script (now it's sh ./scripts/build_dependencies.sh from the top level)

AirborneEagle commented 2 years ago

I had already initialized the sub repos, 😞 I am not sure what will solve this issue, but with the newly added #111 Swift Package Manager support, I no longer need it as a submodule 😄

mjtalbot commented 2 years ago

Hey @AirborneEagle, we have done a little bit of restructuring of the repo to help suppress running into this issue more. As yo mention, supporting swiftpm is one of those!

The header "include/core/SkSurface.h", is part of the skia headers. These are need to build the runtime, if you are looking to work on the rive-ios runtime itself (or in your case just build it locally). To pull these headers into your workspace you'll need to have the submodules initialized & run the build_dependencies script, which will pull down the correct version of skia and put the headers into the location where the RiveRuntime project looks for them.

We are in the process of changing the details on how some of these dependencies are handled now, its still important to have the submodules initialized & we now a configure.sh script in the scripts folder that aims to bridge some of the skia setup gap.

we're going to be adding more on local development setup to the CONTRIBUTING.md docs going forward.

Thank you again for using Rive! And shout if you run into anything else!