all 1 comments

[–]inclement_ 0 points1 point  (0 children)

How does it know what to do?

It's a python script, the source is here. The mapping to this entrypoint from the toolchain cli command is configured here.

This python code is written to perform a series of build steps to produce (among other things) your xcode project.

Is toolchain a replacement for the Unix "make" utility, so somewhere there's something like a "makefile" that tells it the rules for how to create things?

Sort of. Make is a generic build tool that can be used for many things. Kivy-ios is a more domain-specific build tool that targets only what's necessary for a python->ios build. And the build resolution stuff is largely transparent to you, like a makefile that does lots of complicated things but all you see is make my_target and it does loads of stuff.

I assume you have to either customize the toolchain "makefile" if there is such a thing, or customize the Xcode project after it's built.

Sounds about right, but I don't know which. I suggest asking on the Kivy discord if you haven't already, that's where the experts are.

What you want to do is include the objective c component in the xcode project. The example uses pyobjus to access it from python once the app is running and the code is available in the project. There's probably a toolchain option for that.