MJx0 / KittyMemory

This library aims for runtime code patching for both Android and iOS
MIT License
334 stars 113 forks source link

[iOS] Add Universal Binary Support for arm64 and arm64e Architectures #32

Open TheRouletteBoi opened 3 weeks ago

TheRouletteBoi commented 3 weeks ago

The current setup for KittyMemory on iOS, particularly the Keystone library, only includes individual binaries for arm64 and arm64e. This setup may cause compatibility issues and limitations when running on devices that require universal binary support or when trying to compile for both arm64 and arm64e .deb.

For compatibility and ease of use across development setups, it would be beneficial to provide a universal binary that combines both arm64 and arm64e. This way, the library can support both architectures out of the box without requiring additional configuration or manual adjustments.

https://github.com/MJx0/KittyMemory/tree/117463caddbc0317dfc17d22dc11dc99ab4539d1/KittyMemory/Deps/Keystone/libs-ios

In this directory just make a new folder named universal and use lipo -create -output libs/universal/libcapstone.a libs-ios/arm64/libcapstone.a libs-ios/arm64e/libcapstone.a

MJx0 commented 1 week ago

will do