-
Notifications
You must be signed in to change notification settings - Fork 94
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add libflex #36
base: master
Are you sure you want to change the base?
Add libflex #36
Conversation
For reference, the .tbd PR is theos/lib#8 |
Looks good overall! One request: it would be ideal if you could add a module.modulemap file to allow automatic linkage as well as the ability to import FLEX from Swift. For example, see this. A framework would be even better than headers + a standalone tbd, but if that isn't possible then adding a modulemap here is acceptable. You can test to make sure the modulemap works by using |
8d254b3
to
ae3c435
Compare
@kabiroberai Added! Can you test it for me if you have a Swift project sitting around? It would probably take me a while to figure out how to even test that |
Seems to work. Final nitpicks: can the dir be renamed to libFLEX to match the case of the library? Since the library is libFLEX and not libflex, the modulemap should also say |
I named it Same for the directory name; I would not want to type out I would actually rather go back and rename the dylib from |
I would also like to voice my appreciation of single file headers being top level so that I can just import I will get rid of mine though if you want, I only added it for that same convenience; |
might I introduce you to |
I agree with @kabiroberai: |
@leptos-null the issue with that is if I do that and publish the code, I'm the only one who can compile my tweak because I'm using a header that doesn't exist in Theos :/ |
Again, just use |
@NSExceptional, can we merge this? If not, could you update it? Thanks! |
No idea why I felt so strongly about this before; I use |
ae3c435
to
98f4409
Compare
I renamed the folder from
|
In testing the module map, I'm receiving the following errors: Click to expand error log
After adding each of these headers to the umbrella header, the sample project compiled and linked, so I think the module map is otherwise working. I'm not sure what the appropriate solution is to these errors though. |
Are all of those headers actually in this PR? Some of those are private and shouldn't be exposed o_O |
@NSExceptional yes, I was able to import all of them without error. |
It sounds like this PR contains headers it does not intend to and the modulemap does not work (per previous comments). For these reasons, I'm moving this PR to draft status. I'm also wondering what the intention of these headers are. In general, when using FLEX, the only interface we need is |
This PR definitely needs some work, it's just not been a priority from me since I'm probably the only person who needs it, currently I do want to respond to this though:
FLEX exposes lots of APIs for app developers to extend it for their needs to enhance debugging their own apps. You can add entire tools to the FLEX itself, and you can customize the "shortcuts" that appear when inspecting your own objects, etc. All of these are powerful tools to tweak developers as well, but almost no one knows about them, probably because I don't explain how to use them in the readme (I should) |
I see. Having FLEX "plugins" sounds super cool and it would be great to expose them here for developers. Thanks for explaining the use- I think this helps to have a better understanding of which headers we'd want in this repo. Thanks! |
Not sure how this all works when a .tbd is needed but I think I'm supposed to make another PR in theos/lib so I'm doing that next