理论上, 不管是 Intel 还是 M 芯片的 Macbook 都可以用来开发 iOS 或者 iPad App ,模拟器里面可以直接运行编译好的程序,对 Mac 芯片并没有过多要求,
但是为什么 App Store 里面,只有 M 芯片的 Macbook 才显示部分兼容的 iPhone ,iPad app ?
1
murmur 2023-11-30 13:57:25 +08:00
intel 要是兼容你会买 m1 么,仿真器那垃圾玩意连摄像头都没模拟的,除了能证明点亮基本测不出啥来
|
2
4ever911 OP 我理解实际是能跑的,只是模拟器或者转译器翻译的成本,效率性能不够的考虑?
但是不少程序,尤其非游戏,webkit 内核或者网页程序,并不会有太大性能差异吧? |
3
mxT52CRuqR6o5 2023-11-30 14:00:25 +08:00
Intel 的 M 芯片用 Xcode 开发 ios app 时,模拟器是 x86 的 ios 模拟器,运行的是 x86 的 ipa
|
4
vcn8yjOogEL 2023-11-30 14:00:26 +08:00 via Android
厨子都准备淘汰 Intel Mac 了, 哪还会给它们做新功能
|
5
light000 2023-11-30 14:01:11 +08:00
架构问题吧,intel 是 x86 的架构,M 系列的芯片和手机 A 系列芯片是 ARM 架构的。
|
6
hguandl 2023-11-30 14:01:16 +08:00
Intel 平台上的 Xcode 是把 iOS 应用代码编译成 x86 然后再运行的,而 App Store 是只提交 ARM 的。
|
7
dzdh 2023-11-30 14:09:08 +08:00
intel 花大半年甚至不止的时间搞个兼容芯片或者转译器,你用来跑 webkit ?那必须是能丝滑玩游戏才行,不然发不出来找骂吗
|
8
mooyo 2023-11-30 14:10:48 +08:00
本质在于,凭啥给你一个快淘汰的产品做 feature ,价值在哪?
|
9
xuan_lengyue 2023-11-30 14:24:59 +08:00
因为 Intel 平台的 Xcode 里那个 iOS 模拟器里跑的其实是编译成 x86 的版本,但 App Store 里的 iOS 程序都是 ARM 的。
|
10
ShadowPower 2023-11-30 14:25:05 +08:00 1
@dzdh Intel 在 10 年前就搞出来了,给 Android 用的……
现在 Windows 平台的 Android 模拟器还在用,能丝滑玩游戏 |
11
jacksonj297 2023-11-30 14:31:33 +08:00 via iPhone
|
12
jacksonj297 2023-11-30 14:34:46 +08:00 via iPhone
开发了之后岂不是更多英特尔钉子户,M 芯片新款 Mac 还怎么卖。吃力不讨好的功能。苹果 iMessage 到现在都没开放给安卓。Windows iTunes 也很难用。
|
14
seanzxx 2023-11-30 14:36:19 +08:00
因为 x86 的 Mac 做开发,运行的是 x86 版本的 iOS 应用,并不能运行 arm 版本的 iOS 应用。
只有 M 系列 CPU 才能无缝运行 arm 版本的 iOS 应用。 |
15
murmur 2023-11-30 14:39:48 +08:00 1
@Donaldo
楼主的问题是,ios 可以在 x86 开发,ios 很多库也支持 x86 仿真器,那为什么 ios 开发的应用不能在 x86 mac 上运行,不考虑上架阉割 x86 部分 安卓的仿真器可是几乎全功能的,更别提第三方的仿真器了 |
16
jsq2627 2023-11-30 17:01:14 +08:00 via iPhone 1
商业策略问题。你猜这两年 mac 上原生 arm 生态成熟后,苹果后续会不会砍掉运行 ios app 的能力。
|
17
DouHun 2023-11-30 17:28:51 +08:00
good morning ,wow amazing ,only apple can do !
|
18
guo4224 2023-11-30 19:17:00 +08:00 via iPhone
直接放,别脱了
|
19
ysc3839 2023-11-30 19:22:12 +08:00 via Android
iOS 模拟器并没有跨架构模拟能力,在 Intel Mac 上就是 x86 版本。
|
20
IslandOwnerHuang 2023-12-01 00:20:23 +08:00
但是我没记错的话 macOS 10.15 的时候苹果出过一个套件叫“macOS catalyst”,用这个套件可以直接移植 iOS ,iPadOS 上的软件啊,为啥这个现在也不再宣传了呢?
|
21
bao3 2023-12-01 01:30:07 +08:00
其实我想了想,你想问的是,能不能在 X86 上模拟出一个跑 iPadOS 的环境。应该是不行。
|
22
FreshOldMan 2023-12-01 09:39:46 +08:00
现在 intel 芯片机器越来越少了,再弄就没有意义了
|
23
seanzxx 2023-12-01 10:35:31 +08:00
@IslandOwnerHuang 那玩意移植的应用,感觉不太行。 比如 nPlayer ,还有 Jira Cloud for Mac ,这玩意当年还是大力宣传的应用,我还挺期待的,但上手以后发现是个垃圾,连复制粘贴都有问题,后来再看,己经停止开发了。
|
24
LUO12826 2023-12-01 14:42:14 +08:00
感觉上面很多理由并不充分。Intel 机器上跑的模拟器确实跑的是 x86 架构的 iOS App 。或者更准确的说那就是一个 macOS App ,你可以在活动监视器里见到它并把它强制关掉。虽然 App store 里给 iOS 设备的 App 确实都是 arm 架构的,但苹果真要推这个功能的话,大可以允许商店上架 x86 版本的 App (类似于,Android 也有 x86 版本,能下载到 x86 版的 App )。所以主要还是商业策略的问题。苹果大力统一多个平台时候,m1 已经在酝酿中了,给即将放弃的 x86 平台加这种功能不划算。
|
25
IslandOwnerHuang 2023-12-02 03:06:19 +08:00
@seanzxx 是啊,intel 的 Mac 就被无情的抛弃了。但是我已经买不起新 Mac 了,一台两万块的电脑才用了两年就被抛弃了,实在是很难让人接受……
|
26
saki22oimo 2023-12-03 14:16:32 +08:00
赚钱
|
27
flyqie 2023-12-03 15:51:50 +08:00
请注意,你在 Xcode 里面跑的是 Simulator 而不是 Emulator 。
如果你想在 x86 下跑 appstore 拉下来的 IPA ,目前的方案并不完善。 主流实现方向与 aosp 下的 libhoudini 是一致的,arm 指令用 unicorn 等方式来跑,其他操作调 native 。 corellium 的方案理论上也是可以的,但是在 x86 跑的话性能堪忧,而且`Due to a lack of GPU (Metal) support, certain applications are not able to launch. This includes the native Maps, Watch, and Find My Friends apps.`. |
28
flyqie 2023-12-03 15:57:01 +08:00
|
29
flyqie 2023-12-03 15:59:57 +08:00
|
31
shiroyuri 2023-12-03 18:27:34 +08:00
CPU 架构不一样,指令集不一样,移动端的 U 很多都是 ARM 架构设计的
|
32
nuevepicos 2023-12-04 03:02:07 +08:00
这得要求苹果开发一个 反向的 Rosetta2 才行吧……但对于苹果来说,无利可图,为啥要开发?
Intel Mac 退役日期已经确定了,没有增加新功能的必要了。 |
33
huoshanhui 2023-12-04 10:20:28 +08:00
换个思路。如果 App Store 支持 x86 架构的 App 上架。然后手机都不能用这个 x86 版本,剩下只能是 mac 能用。
那这么一绕,不就还是 mac 软件嘛。 毕竟是先有手机架构再考虑其他的。iPhone 只有 arm 。Mac 的目的是向 iPhone 兼容,不是 iPhone 向 Mac 兼容。 |