Skip to content

[F-Req] Native library (Rapier/Sable) support for modded support on iOS #217

@noodov-arch

Description

@noodov-arch

Is this request related to a bug?

Description:
I'm looking to run "Create: Aeronautics" and its core physics mod "Sable" on Amethyst-iOS. Currently, this is impossible due to the java.lang.UnsatisfiedLinkError caused by code signature invalid errors when the mod attempts to load its native sable_rapier_aarch64_macos.dylib library.

The Context:
As iOS security policies strictly enforce Library Validation and forbid loading native code from the Documents directory (where mods reside), the current approach of the mod attempting to load its natives at runtime is blocked by AMFI.

Technical Challenge:
I understand that Apple's sandboxing and code-signing requirements prevent loading these external .dylib files. The community is currently unable to use mods that rely on Rapier physics, which includes the highly anticipated "Create: Aeronautics" and "Create: Offroad".

Feature Request:
Could you provide a way to handle these native dependencies? Specifically:

  1. Is there a roadmap for a "Mod Bridge" or a system to bundle/sign these libraries within the IPA at build-time (e.g., via GitHub Actions)?
  2. Would it be possible to implement a dlopen hook that redirects native loading requests for specific identifiers (like "sable_rapier") to the app's Frameworks directory?

I am willing to contribute or test if there is a way to bake these dependencies into a custom build via GitHub Actions, but I need guidance on the proper integration path for the Amethyst codebase.

Log context:
java.lang.UnsatisfiedLinkError: ...dlopen(...): code signature invalid

Thank you for all the work you do on Amethyst!

Describe the request.

No response

Anything else?

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions