Post by Dmitry Soldatenkov on Jun 1, 2017 13:50:17 GMT
1. When you make any modify of build.yml (include adding of extension) you sould regenerate XCode rpoject ( remove app/project/iphone totally and regenerte by "rake build:iphone:setup_xcode_project") 2. native extension project used header search path used environment variable - this variable defined during build process.
Best regards, Dmitry A. Soldatenkov E-mail: firstname.lastname@example.org Skype: soldatenkoff
1. Isn't build:iphone:setup_xcode_project already included as part of command-line build? In any case, I tried it, and it does not change the result. I still get the same error.
2. I don't understand the answer. Can you explain further? Is there some search path I have to manually set-up? I do see that the file common/app_build_capabilities.h is present in Rhodes. It seems that search path is not being set-up.
I normally do a command-line build. But I also tried an XCode IDE build, with the same result. The project builds and runs, but the extension is not built, and the test fails, as the extension is a uninitialized constant.
I have another project that has a native extension, and it builds. But I think there was some sort of manual change I had to make in the XCode project, and it has been so long that I do not remember what it is that I had to do.
At one time, I remember you had to build the extension separately, but I think that was like Rhodes 4.x or even 2.x.
I spoke too soon. I find I am able to build an older project with the same Rhodes version and building of extension succeeds. I do not need to do anything special - just command-line build. I do not need setup_xcode_project, I do not need to manually build the extension with XCode GUI, etc.
Keep in mind the way I build, I create a "build" directory with source, so it is easy to just delete the build directory are start completely fresh, so I have done this.
What I am not sure of is if I had to previously do some patch to the XCode project for the extension, and now I have forgotten. I will have to go through git comments!
Technician app with Keyboard native extension: It uses Rhodes 5.5 @83723fe6 but I also tried it now with Rhodes pre-6.0 @04160d72 and it builds and runs, and the extension builds and works
Spatvis app with Grading native extension: It uses Rhodes pre-6.0 @04160d72 The Grading extension doesn't do anything custom yet. It is just a freshly-generated extension:
rhodes extension Grading
that has not been modified in any way.
---- I think it might be a problem with generating a new extension in newer Rhodes. But I do not know the exact version yet, it will take experiments.
The Keyboard extension was generated some time ago, maybe a couple of years. So, it was not generated with Rhodes 5.5, but a much earlier one.
Now I vaguely recall having had some problem with search path, but don't recall just how I had resolved it.
What is baffling is that I tried copying Keyboard extension into Spatvis app (it doesn't need it, just for a test) and it fails to build the same way. It builds in Technician, but fails to build in Spatvis.