Skip to content

build: fix problems with crashes on iPads #433

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

Open
wants to merge 2 commits into
base: main
Choose a base branch
from

Conversation

NorbertKlockiewicz
Copy link
Contributor

@NorbertKlockiewicz NorbertKlockiewicz commented Jul 2, 2025

Description

This PR updates static libraries(.a) files for iOS, so they support iOS in version 16 and newer, it also solves the problem with crashes on iPads. Also missing libkernels_portable was added. I suggest to wait with this PR until all features are rewritten to CPP and then also remove s.ios.vendored_frameworks line from podspec as it won't be needed anymore, and currently it overwrites linked static libraries

Type of change

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • Documentation update (improves or adds clarity to existing documentation)

Tested on

  • iOS
  • Android

Testing instructions

Screenshots

Related issues

Checklist

  • I have performed a self-review of my code
  • I have commented my code, particularly in hard-to-understand areas
  • I have updated the documentation accordingly
  • My changes generate no new warnings

Additional notes

@NorbertKlockiewicz NorbertKlockiewicz requested a review from chmjkb July 2, 2025 13:55
@NorbertKlockiewicz NorbertKlockiewicz self-assigned this Jul 2, 2025
@NorbertKlockiewicz NorbertKlockiewicz added the bug Something isn't working label Jul 2, 2025
"-force_load \"#{et_binaries_path}\"/libbackend_coreml_simulator.a",
"-force_load \"#{et_binaries_path}\"/libbackend_mps_simulator.a",
"-force_load \"#{et_binaries_path}\"/libbackend_xnnpack_simulator.a",
"-force_load \"#{et_binaries_path}\"/libexecutorch_simulator.a",
"-force_load \"#{et_binaries_path}\"/libkernels_custom_simulator.a",
"-force_load \"#{et_binaries_path}\"/libkernels_optimized_simulator.a",
"-force_load \"#{et_binaries_path}\"/libkernels_quantized_simulator.a",
"\"#{et_binaries_path}\"/libkernels_portable_simulator.a",
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I believe you can use vendored_libraries instead of OTHER_LDFLAGS, a bit cleaner though. The latter was used mostly due to the need of passing the --force-load flag. Same goes for tokenizers. You can try to make it work :D

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Figure out why library doesn't work on iPads with M* processors
2 participants