V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
yulihao
V2EX  ›  macOS

基于 Intel 处理器的 mac 会不会支持到 arm mac 的一些特性

  •  
  •   yulihao · 2020-08-04 00:21:21 +08:00 · 5024 次点击
    这是一个创建于 1602 天前的主题,其中的信息可能已经有所发展或是发生改变。

    比如说,支持运行 iOS APP 。 我觉得苹果既然有能力 x86 to arm, 做个 arm to x86 应该也不难吧。 其实我觉得苹果让软件厂商在编译他们的应用的时候,把包含 x86 运行库的 ipa 也打包一份,不就可以在基于英特尔处理器的 MAC 电脑上拥有基于 arm 架构处理器的 MAC 的特性了吗? 我现在还在等 clover 引导,能够把 big sur 引导起来。。。

    17 条回复    2020-08-05 08:34:01 +08:00
    so898
        1
    so898  
       2020-08-04 00:25:54 +08:00
    想法很美好,现实很骨感……
    苹果连 Intel 处理器都要在几年内抛弃了,怎么会花人力时间给 Intel CPU 的系统支持上 iOS 应用的功能,iOS 应用功能明显是 ARM 笔记本的杀手锏啊……
    Tink
        2
    Tink  
       2020-08-04 00:39:15 +08:00 via Android
    不会的
    felixcode
        3
    felixcode  
       2020-08-04 00:55:05 +08:00 via Android
    不会
    atone
        4
    atone  
       2020-08-04 01:27:11 +08:00
    Catalyst 就是做这个事情的。开发者稍微适配一下就可以运行在 Intel Mac 上。直接不修改运行 iOS app 不可能。
    icy37785
        5
    icy37785  
       2020-08-04 01:31:23 +08:00 via iPhone
    不会
    kingcos
        6
    kingcos  
       2020-08-04 01:31:41 +08:00 via iPhone
    不会。
    ohiu
        7
    ohiu  
       2020-08-04 01:37:12 +08:00
    不可能的,可以运行 iOS app 是 arm Mac 前期的唯一优势
    movq
        8
    movq  
       2020-08-04 01:54:57 +08:00
    intel 都要被抛弃了怎么还会专门花时间精力金钱去维护
    yyfearth
        9
    yyfearth  
       2020-08-04 06:09:36 +08:00   ❤️ 1
    @yulihao 其实你不知道的是现在的 Intel Mac 已经可以“原生”“跑”iOS 应用了 而且不是通过 CPU 指令集虚拟机
    跑 iOS App 其实不需要"arm to x86" 因为 iOS App 本来就有 x86 指令集的支持

    iOS Simulator 虽然是“模拟器”但是不是“ARM 虚拟机” 而是基于 x86 的虚拟 OS 层
    所以在 iOS Simulator 跑的 iOS 应用就是 x86 指令集的 也就是说原理上 Apple 完全可以直接打包 x86 的代码到 ipa
    只要 macOS 有 iOS 运行时就可以运行(其实就是把现在那个 iOS Simulator 包装一下就是)
    或者说如果 big sur 已经有 iOS 运行时 那么就算是 Intel 的 CPU 也完全可以跑 iOS App 只要 xcode 支持编译 x86 的 ipa

    你说的这些我觉得 Apple 好多年前就可以做到 只是不愿意罢了:
    其实只要 Apple 愿意 那么完全可以直接把 x86 打包到 ipa 然后 macOS 下可以把 iOS Simulator 包装一下并且支持 App Store 就完成了
    让 ARM Mac 直接可以跑 iOS App 我觉得就是给用户更多的理由买 ARM Mac 而已

    另外就是 Catalyst 其实就是把 iOS 的运行时移植到 macOS 来原生运行 而不是通过模拟器
    但是毕竟因为很多硬件特性不同所以需要一定程度上修改 iOS App 的代码来“适配”
    就像 iPhone App 要适配 iPad 一样 还是有一定工作量的
    而且发布也同样收到开发者和 Apple 的控制

    我预测等 2 年后 所有 mac 都是 arm 之后 发布 App 就可以是“全平台”的
    只要做好适配 同一份代码就可以同时发布 iPhone iPad mac 以及 watch 版 App
    而那时候 最新的 macOS 可能就不再支持 Intel 的 Mac 了
    这样就让 Intel Mac 用户有更新 ARM Mac 的理由
    yulihao
        10
    yulihao  
    OP
       2020-08-04 09:14:19 +08:00
    @yyfearth 但是这两年才购买苹果电脑的人怎么办呢,他们的预期不仅仅只是使用两年啊,比如那些买了 MacPro 的人,他们肯定不希望自己花高价买的 MP 只能支持 2-3 年就停止支持。昨天晚上我尝试运行一个 x86 的.app ( x86 的 ipa 里提取出来的)拖进终端显示这个应用不能运行在模拟器以外的环境。
    yulihao
        11
    yulihao  
    OP
       2020-08-04 09:22:10 +08:00
    @yyfearth 如果脱离苹果我们自己去搞这个呢?我看到之前好像有一些 iOS 模拟器在宣传,好像是黑蕾模拟器(现在还能用),之前还有个果仁,不做了,我就很想知道他们的原理是什么,他们想安卓一样,也是通过虚拟机虚拟出 mac,然后在模拟器上不知搞了什么就使得模拟器支持 arm 的应用了,我对模拟器官网提供的 ipa 抓包下载来之后执行 lipo -info 指令发现这些应用确确实实是 armv7 的架构(有些存在 arm64 架构的应用但是被人为去掉了。
    Tonni
        12
    Tonni  
       2020-08-04 09:32:45 +08:00
    换 OpenCore 吧,现在可以引导 Big Sur 了。
    xingyuc
        13
    xingyuc  
       2020-08-04 11:59:43 +08:00
    2 年、要我说 5 年都不会全都 arm
    MePride
        14
    MePride  
       2020-08-04 13:41:59 +08:00
    @xingyuc 同意
    typetraits
        15
    typetraits  
       2020-08-04 14:48:32 +08:00
    @yulihao #11 之前见过一个 iOS 模拟器,原理是用虚拟机跑 macOS,然后虚拟的 macOS 里面运行 Xcode 中的 iOS Simulator,再通过一些方法把 ipa 装进去,效率很低

    至于 x86 支持 ARM 就不要想了

    我看好 ARM Mac 的发展,个人认为苹果生态中最重要的两家开发商 Adobe 和微软,只要这两家上车了,做了 ARM 适配,那这个生态肯定是没问题的

    至于 x86 虚拟化,本来就是小众应用场景,苹果也不会作为重点去解决的
    wclebb
        16
    wclebb  
       2020-08-04 15:32:32 +08:00
    如果我没记错的话。
    clover 已经放弃了好像,所以 OpenCore 是新的引导方式。
    nuevepicos
        17
    nuevepicos  
       2020-08-05 08:34:01 +08:00
    想多了,Intel 产品线已经预定 2 年死亡了,何必多此一举。那个 5 年的说法只是新系统还对旧机器提供更新支持而已,


    还有,我觉得升级 Big sur 的话,clover 也该替换到 oc 了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2762 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 00:17 · PVG 08:17 · LAX 16:17 · JFK 19:17
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.