写点什么

这款上线 6 年火爆应用即将消失,开发者和苹果审核人员再度交锋

2021 年 7 月 26 日

这款上线6年火爆应用即将消失,开发者和苹果审核人员再度交锋

整理|燕珊


iDOS 2 是一款存在超 6 年的 iOS 应用,用户通过它能够在 iPhone 和 iPad 上运行几十年前的 DOS 游戏和软件。不过,如今它正面临被苹果应用商店下架的风险。对此,该应用的开发者 Chaoji Li 在一篇博文中“控诉”,并在网络上引发了不少人的惋惜和讨论。


iOS 上的 DOS 模拟器

iDOS 2从 2014 年起就在 App Store 上线,其前身 iDOS 于 2010 年首次发布,但当时上线没多久就被苹果撤下。


由于苹果对游戏文件的捆绑有所限制,iDOS 2 中间有四年多没有更新,而在 2020 年 9 月,Li接受了 GitHub 上一位用户的建议再试一次,更新了 iDOS 2 使得它能够使用 iOS 的“文件共享”功能,继而让用户可以导入自己的文件。


通过 iDOS 2,iPhone/iPad 用户能够玩到很多“古早”的经典 DOS 游戏。但近日当 Li 试图向 App Store 提交带有 Bug 修复的更新时,却被告知该更新被拒绝,因为它违反了 App Store 2.5.2 准则,即应用程序不允许安装或者启动可执行代码。


苹果在回复中表示:


在审查期间,您的应用程序安装或启动了可执行代码,这在 App Store 上是不允许的。


具体来说,您的应用程序执行了 iDOS 包和镜像文件,并允许 iTunes 文件共享和文件支持导入游戏。执行代码可以引入或改变应用程序的特点或功能,并允许下载未经许可的内容。


请注意,虽然旨在教学、开发或允许学生测试可执行代码的教育类应用程序在有限的情况下可以下载代码,但这种代码不得用于其他目的,而且这种应用程序必须使用户可以完全查看和编辑源代码。


根据通知,App Store 审查团队给 Li 14 天的时间再次提交更新,否则该应用将被从应用商店中下架。


Li 表示,他理解苹果此次举措背后的考量,但他强调大家都知道去年以来,因为用了文件共享访问的能力,iDOS 2 已经能够运行自定义的游戏或程序,并没有耍任何花招来愚弄审核的人,相反,对于每一次的版本更新提交,他都总是会提供说明,告知 iDOS 2 的工作原理。



虽然 iDOS 2 确实运行外部代码,但它是在沙盒环境中运行的(这意味着不存在可能危及系统的其余部分用户的数据安全的风险)。


但现在苹果却不同意了。


Li 在公开信中称,使用文件共享来运行自定义游戏或程序是目前 iDOS 2 不可或缺的一部分,他不打算删除它以满足 App Store 的规则,因为这是对付费用户的背叛。

为什么苹果突然不同意了?


有分析称也许这是苹果审核团队的一个“过失”,毕竟 App Store 对模拟器始终都是不开放的态度。


Li 则推测跟最近 iDOS 2 的热度迅速上升有关,从而让苹果改变了主意。近日 Fast Company 科技编辑的推文、以及 How-To Geek网站都发布了如何在 iPad 上运行 Windows 3.1 的操作指南,给 iDOS 2 引来了不小的关注度。



“一旦你得到了 Windows 3.1 的文件,你需要把它们转移到你的 iPad 的 Files 应用中。然后,你可以在 iDOS 2 中加载 Windows 3.1 文件并安装这个操作系统。”而事实进一步证明,用户还可以通过 iDOS 在 Windows 3.1 上安装额外的第三方 App。How-To Geek 的编辑 Benj Edwards 还介绍了如何利用互联网档案馆获得 Windows 3.1 的软件,并可以在那里找到游戏、生产力工具、实用程序等。通过 iDOS 和 Windows 3.1,可以把 iPad 变成一台便携式的经典游戏机,Benj Edwards 展示了在他的 iPad 上运行的几个经典 Windows 游戏,包括《文明 II》等游戏。


如此一来,iDOS 2 这种模拟器能力被大肆宣传,对于重视版权的苹果来说,这种情况就不能再视而不见了。


界面的分析指出,一直以来模拟器都游走在法律边界的灰色地带,存在侵犯无数著作权的盗版资源,并破坏被模拟对象商业生态的情况。为了避免连带责任,苹果将其一刀切也很正常。此前在 App Store 中存活了很久的任天堂 NES/SNES 模拟器 Floppy Cloud,就是一款将自己伪装成具有文件管理功能的应用,只有在执行特定的.smc 文件(任天堂游戏模拟器文件)时,才会出现的游戏模拟功能。


除此之外,玩家想要在 iOS/iPadOS 生态中用上模拟器,就只能将设备越狱来安装模拟器,或是下载企业版应用,但这些行为往往都有着极大的风险,甚至会有黑灰产在此类应用中注入挖矿脚本。


或许正如一位网友所评论,模拟器允许应用程序运行苹果无法看到或检查的代码,这一直是违反规则的。真正的问题在于苹果在应用规则时缺乏一致性,这本来就不应该在 App Store 中被允许,所以现在的删除看起来更像是苹果“动真格”了。


参考链接:

https://www.theverge.com/2021/7/23/22590511/idos-2-emulator-apple-app-store-takedown-notice

https://www.howtogeek.com/739100/how-to-install-windows-31-on-an-ipad/

2021 年 7 月 26 日 16:395786
用户头像
罗燕珊 InfoQ中文站记者

发布了 137 篇内容, 共 49.5 次阅读, 收获喜欢 226 次。

关注

评论 1 条评论

发布
用户头像
作者最好能发起版权池,让古早游戏作者们给出授权。

2021 年 08 月 01 日 18:25
回复
没有更多了
发现更多内容

架构师训练营第一期第十周作业

Leo乐

极客大学架构师训练营

CAP原理

Sandman

极客大学架构师训练营

架构训练营第六周作业

一期一会

分布式系统

架构师训练营第十周作业

Shunyi

极客大学架构师训练营

week1总结

ルンルン

JVM垃圾回收

少林寺三毛

JVM

架构师训练营第一期第十周总结

Leo乐

极客大学架构师训练营

第十周作业

Geek_ce484f

极客大学架构师训练营

第十周作业总结

Geek_ce484f

极客大学架构师训练营

架构师 01 期,第十周课后作业

子文

CAP原理简述&Doris 临时失效处理过程

Mars

CAP原理

架构师训练营 week6 学习总结

花果山

极客大学架构师训练营

Netty源码解析 -- FastThreadLocal与HashedWheelTimer

binecy

源码 Netty

架构是训练营第 10 周作业

郎哲158

万字长文,助你深度遨游Spring循环依赖源码实现!

云流

Java spring 编程

第 10 周 模块分解

Pyr0man1ac

第六周 cap原理

Geek_9527

架构师训练营 week6 课后作业

花果山

极客大学架构师训练营

架构师训练营第二期 Week 6 总结

bigxiang

极客大学架构师训练营

Elasticsearch配置和集群维护

Rayzh

ELK 日志 Elastic Stack

第十周总结

orchid9

周练习 10

何毅曦

架构方法 - 学习笔记

心晴雨亦晴(~o~)

第十周作业

极客大学架构师训练营

架构师训练营第二期 Week 6 作业

bigxiang

极客大学架构师训练营

架构是训练营第 10 周学习笔记

郎哲158

「架构师训练营第 1 期」第十周作业

张国荣

第六周学习总结

陈浩

食堂就餐卡系统设计

ルンルン

week10作业

追风

架构师一期

Dubbo微服务调用的时序图

天天向上

极客大学架构师训练营

这款上线6年火爆应用即将消失,开发者和苹果审核人员再度交锋-InfoQ