imp_implementationForwardingToSelector
imp_implementationForwardingToSelector copied to clipboard
Support for x64 architecture
Hi @OliverLetterer
Just a question, is it possible to add support for x86 64 architecture somehow?
We want to use this trampoline in one of our products, but the limitation doesn't allow this. Is it a good idea to use this in a real product or you wouldn't recommend it?
Many thanks for your answer!
Hey @tyomo4ka,
great to hear that you found this project :) As of right now, I would state this code is product ready. It is possible to add the x86 64 architecture, unfortunately, I personally don't have time for this. Feel free to collaborate if you like :)
I would be interested to know your use case for this trampoline, because use-cases for this are usually very rare. Maybe there is a better option?
Thanks for your reply @OliverLetterer!
great to hear that you found this project :) As of right now, I would state this code is product ready. It is possible to add the x86 64 architecture, unfortunately, I personally don't have time for this. Feel free to collaborate if you like :)
Personally I'm not an ObjC dev and I don't know Assembly. Instead I'm managing some R&D project.
I would be interested to know your use case for this trampoline, because use-cases for this are usually very rare. Maybe there is a better option?
If you're familiar with concept of Tag Management from Web Analytics, we want to build the similar sort of platform for native mobile apps (https://en.wikipedia.org/wiki/Tag_management_system). The high level idea is to allow Analysts to configure data beacons dynamically w\o involving developers and publishing new versions to AppStore. We have a working PoC for Android using AspectJ and looking for a best way to do the same in iOS platform.
What we need to do is capture some method calls and its parameters according to some configuration retrieved from a hidden web view and then serialise and send this data back as JSON. Do you think it is a good use case for this trampoline or we should have a look at other solutions like Aspects?
Appreciate your help!
I think this trampoline is a bit to low level for this kind of task. It basically let's you attach more information to runtime invocations in form of different selector names. If I understand correct, you need to track certain invocations and record their method parameters. This would be a typical use case for something like Aspects.
@OliverLetterer
I understand it's low level. Sorry my previous message was not clear enough. Let me clarify it a little bit.
It's being a long story with this project now. We started it when Aspects was not here. Then abandoned. But before we abandoned it, our developer implemented a proof of concepts. Basically he reimplemented BlockInjection library we used based on your trampoline. That currently works, the only problem is with x64 architecture.
So now I'm not sure what is the best way to proceed. We can migrate to Aspects or another option is to add support for x64 architecture to this trampoline. I'm just trying to understand how complex is the second option.