ios - 在桌面上开发的移动应用程序如何工作?

标签 ios mobile x86 arm crossdev

大多数(如果不是全部)智能手机都使用 ARM 处理器。但是,我相信移动应用程序是在运行 x86 的台式机和笔记本电脑上开发的。因此,例如,在基于 ARM 的处理器上运行的 ios 应用程序或 Android 应用程序在基于 x86 的 Mac 上编写时如何工作?

最佳答案

在 iOS 上,模拟器运行要测试的代码的 x86/x86-64 版本(目前仅支持 64 位版本)。

值得指出的是,在模拟器方面,Android 和 iOS 之间的方法存在一些显着的架构差异。 iOS Darwin 内核的 ABI 和 API 与 MacOS 中的内核兼容,模拟器应用程序只需运行 iOS“外壳”,包括跳板和主机操作系统之上的全套用户空间库。

Android 模拟器在虚拟机中运行,可以选择使用指令集模拟。

在某些类型的开发中,这两种方法都不是想法。任何依赖于低级优化的代码都需要在设备上进行测试。

关于ios - 在桌面上开发的移动应用程序如何工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57386597/

相关文章:

html - 不显示背景图像

c++ - 为什么 memory_order_relaxed 在 x86 上使用原子(锁前缀)指令?

c - 32 位机器如何处理大于 2^32 的数字?

ios - UITableView willDisplayCell 方法的不当行为

ios - Swift 5 中的 Metal 顶点着色器警告

ios - Swift - CoreData NSPredicate - 获取父级的子级

ios - 如何为 peek&pop 自定义操作着色?

css - 媒体查询不是在移动设备上堆叠列,而是应用其他样式?

ios - 如何在不使其成为iOS前台的情况下进行应用调用?

程序集 - 将 float 舍入到 -∞ 的 0.001 精度