Skip to content

Releases: NullIsOne/j2objc

Latest build

31 Jan 10:18
Compare
Choose a tag to compare
Latest build Pre-release
Pre-release

Built with J2OBJC_ARCHS="iphone64 simulator simulator64" make -j8 frameworks

Full contains all frameworks
Light contains only JRE

Universal xcframeworks for simulator

24 Jan 05:51
Compare
Choose a tag to compare
Pre-release

Based on official 2.8.

  • migrate to python3, because python2 was deleted from macos bin folder
  • fixed several build errors
  • added architecture wrapper script to make fat .a with x86_64 and arm64 for simulator

Usage.

  1. Switch JAVA_HOME to Java 11
  2. Make dist and frameworks as usual J2OBJC_ARCHS="iphone64 simulator64" make -j8 frameworks
  3. Patch lib like sh scripts/prepare_arm64_simulator.sh jre_emul JRE jre_emul
  4. Copy Info.plist, ios-arm64 and ios-arm64_x86_64-simulator into xcframework inside dist/frameworks
  5. Enjoy you patched dist and link to your project

Note: script is not universal. If you need more architectures then you should update it to not broke Info.plist inside original xcframework

UPD: after experiments in real project I found that extraction of .o files and repacking them is not enough.
I made Universal-JRE-arm64-x86 manually from sources stored in **/build_result/objs-iphone64/ and it worked.
It seems, that I need rewrite script and avoid using ar, since we have all sources prepared in appropriate folder.