|
Post by jontara on May 31, 2017 21:24:49 GMT
I have a problem with 5.5.18 (and possibly other versions.)
I created a new native extension, and it does not build (iOS). When I say it does not build, I mean that Rhodes doesn't even attempt to build it!
I recall in the past perhaps you had to build this separately, using XCode IDE. But I don't think that is true any more.
I have an older project that has a native extension, and it builds.
I notice that XCode complains about a lot of obsolete settings if I open the XCode project for the extension.
Is there anything I need to do now besides listing the extension under app:/extensions: in build.yml?
|
|
|
Post by jontara on May 31, 2017 21:30:21 GMT
I recall now that when you add files to the extension, you need to change the XCode project for the extension, to add the files.
So, I would have let XCode update the settings when I did that.
|
|
|
Post by jontara on May 31, 2017 21:47:22 GMT
I tried to build the extension with XCode IDE.
common/app_build_capabilities.h file not found.
In <extension name>Setup.m
|
|
|
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.
|
|
|
Post by jontara on Jun 16, 2017 6:21:04 GMT
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.
|
|
|
Post by jontara on Jun 16, 2017 7:10:09 GMT
Now I find that building extensions fails on the previous project as well.
I see a difference between the two projects in the project.pbxproj file. The one that I though builds has paths in 4 places in that file. But the new one has paths listed in only two places.
I hand-edited it to add the paths, but it still fails. That's when I found that the previous project fails as well.
|
|
|
Post by jontara on Jun 16, 2017 16:39:31 GMT
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.
|
|