Guidance needed for native ARM64 usage on macOS following Apple’s Rosetta 2 phase-out announcement
Vedat Ardil
Dear ionCube Support Team,
I am writing to request your guidance regarding the future of ionCube products on Apple Silicon Macs.
Apple has officially informed developers and users that Rosetta 2 will no longer be available as a general-purpose translation layer for Intel (x86_64) applications starting with macOS 28 (expected in 2027). Full Rosetta 2 support is planned to continue through macOS 27, after which only a limited subset of Rosetta functionality will remain — primarily for legacy gaming titles and certain x86 binaries running inside Linux virtual machines.
Additionally, starting with macOS 26.4, macOS now displays warnings when launching applications that depend on Rosetta 2, indicating that these applications will not be supported once general-purpose Rosetta support ends.
Given this transition, I would like to understand the recommended path for using ionCube on macOS with native ARM64 (Apple Silicon) support, rather than relying on Rosetta-based x86_64 binaries.
Could you please advise on the following points?
ionCube Loader on macOS ARM64
I understand that a native “macOS ARM M1 (arm64 64 bits)” Loader package is available. Is this the officially recommended approach for Apple Silicon Macs going forward? Are all currently supported PHP versions available as native ARM64 loaders, and do you plan to maintain full parity with the x86_64 macOS builds?
ionCube Encoder on macOS ARM64
If I am using the ionCube Encoder on macOS for development, is a native ARM64 version available, or is the Encoder still distributed only as an x86_64 binary? If only x86_64 is currently available, do you have a roadmap or timeline for a native Apple Silicon Encoder release before Rosetta 2 general-purpose support ends?
Migration and best practices
For users currently running x86_64 PHP and/or ionCube components under Rosetta on Apple Silicon Macs, what is your recommended migration plan? Should we switch entirely to native ARM64 PHP installations and ARM64 ionCube Loaders now, or are there specific configurations we should avoid?
Encoded file compatibility
Will PHP files encoded on an x86_64 macOS environment remain fully compatible when executed with the native ARM64 Loader on the same or newer PHP versions? Are there any encoding options or platform targets we should select today to ensure long-term compatibility on Apple Silicon without Rosetta?
Long-term macOS support
Do you intend to discontinue support for the x86_64 macOS Loader and Encoder builds in line with Apple’s Rosetta phase-out, and should we plan our development and deployment environments exclusively around ARM64 on macOS from now on?
My goal is to prepare our local development and testing environment on macOS (Apple Silicon) in a sustainable way, without depending on Rosetta, well before Apple removes general-purpose x86 support.
I would greatly appreciate any documentation, migration notes, or official recommendations you can share on this topic.
Thank you for your time and assistance.
i
ionCube
Hi,
Thanks for raising this as we have had inquiries via email that have been addressed but it would be nice to have a public thread available.
So the first thing to mention is that we're aware of what is happening with regards to Rosetta and are working towards a native ARM-based encoder which works without the need for Rosetta emulation. At the moment, that is still the solution and what we recommend using.
You mentioned running files on ARM64. Encoded files will run on any platform which have Loaders available. You do not need to encode on the platform you want to run on so Windows could be used for encoding and Mac OS or Linux for runtime, as an example.
In relation to this matter, our Intel Loaders for MacOS will no longer be updated as we move towards ARM on MacOS.