首次独家呈现 OPPO 四大创新技术实践,尽在 QCon 上海 OPPO 技术专场! 了解详情
写点什么

这款上线 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:395829
用户头像
罗燕珊 InfoQ中文站编辑

发布了 154 篇内容, 共 54.6 次阅读, 收获喜欢 265 次。

关注

评论 1 条评论

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

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

架构师训练营第 1 期第 5 周作业

du tiezheng

极客大学架构师训练营

第五周学习心得

熊桂平

极客大学架构师训练营

SpringBoot整合原生OpenFegin的坑(非SpringCloud)

冰河

微服务 高并发 远程调用 springboot OpenFegin

JMM 应用实例:单例模式

朱华

单例模式

5. Bean Validation声明式验证四大级别:字段、属性、容器元素、类

YourBatman

Hibernate-Validator Bean Validation 数据校验

阿里云盘线下交流会

兔2🐰🍃

阿里云网盘 Teambition 线下体验

超越视觉支持语音新版OpenVINO发布,为更多智能边缘开发者赋能

新闻科技资讯

Week 5 作业02

Croesus

【架构师训练营 1 期】第五周作业

诺乐

架构训练营 - 第5周课后作业 - 学习总结

Pudding

非阻塞的无界线程安全队列 —— ConcurrentLinkedQueue

程序员小航

Java 源码 并发 源码阅读 JUC

配置企业应用业务流程别头大,有工作流引擎就不怕

Marilyn

敏捷开发

独家揭秘 | 京东物流Elasticsearch大规模“迁移上云”实践

京东科技开发者

云计算

iOS touch事件点的获取

teoking

ios

JVM系列笔记 - 虚拟机栈

朱华

JVM

week-5-part2 学习总结

陈龙

架构师训练营 - 第 5 周课后作业(1 期)

Pudding

10月24日,“网安小酒馆”线上活动开启,有红包,更有名酒相送

Cloudaemon

Go发起HTTP2.0请求流程分析(后篇)——标头压缩

Gopher指北

Go 后端开发 HTTP2.0

架构一期第五周作业

Airs

低代码开发平台,真的是为了“干掉“程序员嘛?

力软.net/java开发平台

软件开发 低代码

架构师训练第五周 -编程语言实现一致性 hash 算法

郎哲158

第5周作业

paul

万字长文深入理解java中的集合-附PDF下载

程序那些事

java编程 JAVA集合 java集合总结 java集合使用 java秘籍

环信入选2020在线教育视频云创新排行TOP10

DT极客

一文快速入门分库分表中间件 Sharding-JDBC (必修课)

程序员内点事

Java 分库分表

Docker内部组件

混沌畅想

Docker 容器 运维

mongodb源码实现系列-网络传输层模块实现二

杨亚洲(专注mongodb及高性能中间件)

MySQL 数据库 mongodb 高性能 分布式数据库mongodb

1024丨奈学教育致敬程序员:‘3+2’战略发布会圆满落幕

奈学教育

程序员 奈学教育

【架构师训练营 1 期】第五周学习总结

诺乐

Consistent Hashing算法实现 - JavaScript

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