arm64-to-sim: 让ARM64二进制文件在iOS模拟器上运行

arm64-to-sim: 让ARM64二进制文件在iOS模拟器上运行

arm64-to-simTransmogrify native iOS frameworks to run in iOS Simulator on Apple silicon.项目地址:https://gitcode.com/gh_mirrors/ar/arm64-to-sim

项目介绍

臂64-to-sim 是一个简易命令行工具,专门设计用于修改原生ARM64编译的iOS框架,使得它们能在苹果M1及后续芯片的iOS模拟器上运行。这个项目由Bogo Giertler维护,旨在解决因兼容性问题导致的老版或未更新的应用框架不能在苹果新款基于ARM架构的Mac电脑上通过Xcode直接调试的问题。

项目快速启动

要快速启用此项目并创建能够支持通用ARM64与x86_64架构的可执行文件,请遵循以下步骤:

# 克隆项目到本地
git clone https://github.com/bogo/arm64-to-sim.git

# 进入项目目录
cd arm64-to-sim

# 编译项目,生成支持arm64与x86_64的可执行文件
swift build -c release --arch arm64 --arch x86_64

# 输出的可执行文件位于以下路径:
# build/apple/Products/Release/

应用案例和最佳实践

案例:使旧版SDK适应M1模拟器

假设你有一个旧的Spotify SDK框架,它不支持在M1芯片的模拟器上运行。通过arm64-to-sim,你可以修改该框架的ARM64部分,让其在模拟器中正常工作,而不必依赖Rosetta 2。这涉及到提取原框架的ARM64部分,对其进行必要的调整,然后与Intel架构的部分合并,最终得到支持双架构的“胖”二进制文件。

  1. 提取原始ARM64二进制

    lipo -thin arm64 原始框架文件 -output 临时ARM64文件
    
  2. 使用arm64-to-sim进行转换 根据项目文档,这里可能涉及调用项目的具体命令来处理二进制。

  3. 重新构建fat二进制

    lipo -create -output 新框架文件 原始Intel二进制 修正后的ARM64二进制
    

最佳实践

  • 在进行二进制修改前,备份原始文件。
  • 对于复杂的库或应用,测试是至关重要的,确保所有功能在模拟器上仍然可以正常运作。

典型生态项目

虽然本项目专注于解决特定兼容性问题,其技术和理念对更广泛的跨平台开发有启发意义。例如,在开发面向多架构的iOS应用时,理解和应用类似的技术可以帮助开发者优化他们的构建流程,使之更加灵活地适配未来可能的新硬件架构。此外,对于那些致力于提升跨模拟器体验的开发者社区而言,arm64-to-sim提供了一个实用的工具集,鼓励进一步的创新和问题解决方案的探索。


以上就是关于arm64-to-sim的基本使用说明和实践指南,利用这一工具,开发者能够有效地扩展他们的iOS应用程序的测试范围,确保新硬件环境下的全面兼容性。

arm64-to-simTransmogrify native iOS frameworks to run in iOS Simulator on Apple silicon.项目地址:https://gitcode.com/gh_mirrors/ar/arm64-to-sim

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

盛言广Red-Haired

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值