Tuesday 15 September 2015

objective c - Change OBJC_IVAR_$ in binary -


In an earlier version of a framework, A class B, A and B were, with A to B sub-class. The new version B is no longer present and everything in B. (Ever etc.) is now in A. An executable file is attached to the old version, so it looks for _OBJC_IVAR _ $ _ Bivar. Although I should work on the new version (I can not compile it again). So is there any way to _OBJC_IVAR _ $ _Aivar?

There is no way to change the context of it safely just need to solve the symbol Not that, but the runtime is likely to go on that symbol. Symbol aliasing can be , works, but it will be fragile.

In the context of an Ivar symbol, the dependable class depend on the old version of the framework directly outlining the layouts, and consist of those subclasses with those pairs.

When objective-C "2.0" resolved the problem of delicate base class, then the ability to move the ive into classes from classes to class A


If you want to go down this path, you can try aliasing the symbol in the link line. Add a suitable alias flag to OTHER_LD_FLAGS in the Build Settings Editor:

  -Laas symbol_name alternate_symbol_name for the symbol altern_symbol_name create nickname symbol_name. By default the nickname symbol is global visibility. This option was last -idef: Indoor option.    

No comments:

Post a Comment