2天时间,聊今年最热的 Agent、上下文工程、AI 产品创新等话题。2025 年最后一场~ 了解详情
写点什么

iPhone 开发者许可变更:反响强烈、结果难料

  • 2010-05-05
  • 本文字数:2589 字

    阅读完需:约 8 分钟

最近有报道说Apple 变更了iPhone 开发者许可,进而阻止使用除Objective-C、C 和C++ 之外的其他语言编写应用,也不允许“借助中间转换、兼容层和工具”来访问API。人们对此反响强烈,这种效应很有可能波及到整个业界。

用于开发iPhone、iPad 和iPod Touch 应用的 iPhone SDK 3.2 及之前版本在 iPhone Developer Program License Agreement(DPLA)中都声明了如下条款:

3.3.1——应用只允许以 Apple 规定的方式使用 Documented API,不允许使用或调用任何私有的 API。

最新的 iPhone OS 4.0 SDK 目前还处于 Beta 版并已向注册的开发者提供下载。Apple 对 DPLA 的多处变更还处于保密状态, John Gruber 则报料说 3.3.1 的条款已经变成了下面这个样子:

3.3.1——应用只允许以 Apple 规定的方式使用 Documented API,不允许使用或调用任何私有的 API。应用从一开始就必须使用 Objective-C、C、C++ 或 JavaScript 编写(由 iPhone OS WebKit 引擎负责执行),只有用 C、C++ 和 Objective-C 编写的代码才能编译并直接链接到 Documented API 上(比如,不允许通过中间转换、兼容层和工具将应用链接到 Documented API 上)。

这意味着今后必须使用 Objective-C、C、C++ 或 JavaScript 编写 iPhone 应用了,严格禁止跨编译器的行为,这将对很多公司造成影响。由于许可说明还不是十分清楚,这也导致了人们的各种猜测。

Apple 的这个举动对 Adobe 造成了直接的影响,他们刚刚在市场上发布了 Adobe Creative Suite 5 (CS 5)。Adobe 鼓吹 CS 5 的一个主要亮点就是可以将 Flash FLA 文件导出为 IPA,创建可以部署在 iPhone 上的应用,根据 Adobe Creative Solutions 的业务经理 John Loiacono 所述:

我们非常高兴地宣布开发者可以使用 Flash 开发工具在 iPhone 上构建、编译并运行应用了。

这类应用不会在运行期编译代码,理应与 App Store 所销售的其他应用享有同样的审批过程,但 Apple 对开发者许可的变更改变了这一切。
Adobe CTO Kevin Lynch对新的许可条件发表了如下评论

昨天,Apple 对其 SDK 许可进行了一些改变,限制了开发者可以使用的技术 […]。 我们依然会将该功能放到 CS 5 中,随着时间的流逝,Apple 还会不断改变规则,是否允许这些应用就是他们自己的事儿了。

Unity 3D 有个游戏开发工具,开发者可以使用该工具在多个平台上创建游戏。目前有成百上千的 iPhone 应用都使用到了这个工具,其中一些还在 App Store 上热卖。Alex Blewitt 认为 Unity 会深受这种变更的影响

作为一个 3D 工具,Unity 可以用在多个平台上,能够加速游戏开发。然而,它却是 Apple 明令禁止的“兼容层或工具”。

Gruber 认为 Unity 不会受到什么影响

一开始我还以为这将禁止使用 Unity3D 编写游戏呢,但或许并非这样——Unity3D 会生成一个完整的 Xcode 项目和 Objective-C 源文件,这看起来更像是一个预处理而非跨编译器,很难说。如果要我打赌,那么开发者使用 Unity3D 编写 C#代码的事实则违背了规则。

Unity 3D 自己不知道该说什么。他们已经与 Apple 取得了联系并在焦急地等待澄清结果。

我们希望自己安然无恙,但显然这种希望并不能保证什么。我所能保证的就是我们将在力所能及的范围内一如既往地完善 Unity3D,只要获悉了更多信息,我们会在第一时间通知大家。

还有很多工具都受到了许可变更的影响,如 MonoTouch Titanium PhoneGap Ansca Corona 等。他们都提出了类似的问题:并不知晓 Apple 对许可进行变更的意图是什么,他们也深信一切都会好起来的:

MonoTouch :我们与 Apple 进行了接触以了解其意图,相信在 4.0 SDK 最终版发布前还有很大空间修改我们的方向。 如果 Apple 的动机在于技术,想让大家使用他们的工具链,那么 MonoTouch 很容易就能满足 SDK 的条款。MonoTouch 只能运行在 Mac OS X 上并与 Xcode 和 iPhone SDK 紧密集成。

Appcelerator Titanium:我们坚信自己的做法完全符合 iPhone OS 4.0 服务条款 […]。

使用 Titanium 的前提是开发者必须要安装 Apple iPhone SDK 和 Apple Xcode 工具链,必须在 Macintosh 上安装 Titanium,只有具备了合法的 Apple 开发者资格后才能创建基于 Titanium 的 iPhone/iPad 应用。

Titanium 会在应用创建阶段生成合法的 Xcode 项目、Objective-C(有时是 C/C++)代码并使用 Apple 公开发布的 API 通过 xcodebuild 将 Xcode 项目编译为本地应用。

PhoneGap :每个人都对新政策松了一口气。Apple 已经认可了 phonegap 应用。

Ansca Corona :我相信 Corona 没问题,我们一直致力于创造最棒的多平台游戏工具,为 Apple 和 Android 设备创建应用,我们还会一如既往地向 Corona 中增加新特性,期待每次发布的新版本都能更上一层楼 […]。

到目前为止,Apple 尚未以官方和非官方的方式通知我们不兼容的问题。Apple 还为 4 月 3 日 iPad Store 的盛大开幕批准了几个 Corona 应用,这个事实再次表明我们是符合服务条款要求的,为 iPhone/iPad 生态圈创造了巨大的价值。

很多人都对 Apple 的这个举动感到困惑甚至有些义愤填膺。Dan Grigsby 是一位企业家,同时也是一个 iPhone 开发者,他已经放弃了 iPhone

Apple 想要巩固 App Store 的地位,这我没意见。如果他们将 App Store 看作是品牌扩展,这也很好。如果这就是他们的目标,那他们应该全方位清理 Store 了,剔除那些糟糕但没恶意的糟粕,像 Android 那样提供无限制、平滑的脱离于 Store 的应用。

我这个人讲求原则,但 Apple 已经触犯了我的原则。我决定不再开发 iPhone 了,我再也不想在这种需要征得许可的环境下工作了。

Sun 前主管及 XML 的联合编者 Tim Bray 最近加入了 Google 以提升其 Mobile OS 的竞争力,他认为 Android 更加自由

显然 Apple 认为你可以利用 Internet 所带来的好处,同时他们又操控着哪些程序可以运行、哪些栈可以访问、哪些话可以说等事项。 我认为他们错了,我现在所从事的工作将证明这一点。

直接部署应用而没有利用 App Store 的企业将不会受到此次变更的影响。但如果他们同时使用了这两种方式(既有直接部署,又利用了Store),那就必须得遵循许可的要求了。

一些人认为Apple 只是想保证为iPhone 所开发的应用具有良好的品质并充分利用了iPhone 的能力。其他人则谴责Apple 断了那些开发了iPhone 本地工具Xcode 替代者的开发人员们的后路。不管怎样,所有人都在焦急地等待着Apple 的澄清。

查看英文原文: Reactions and Consequences of the iPhone Developer License Change

2010-05-05 01:032832
用户头像

发布了 88 篇内容, 共 272.8 次阅读, 收获喜欢 9 次。

关注

评论

发布
暂无评论
发现更多内容

动态化-罗码(京东科技一码多端解决方案)介绍

京东科技开发者

网站访问分析30分钟实战指南:ClkLog开源社区版

ClkLog

开源 埋点 sdk 用户行为分析 画像

新《公司法》实施周年实务挑战加剧,Alpha系统「公司法专题库」破解律师专业升级困局

科技汇

Nessus Professional 10.9 Auto Installer for Ubuntu 24.04

sysin

Nessus

注塑行业MES系统解决方案:全面指南与最佳实践

万界星空科技

制造业 mes 万界星空科技mes 注塑MES 注塑行业

基于华为开发者空间 - 开发平台,构建AI会议助手

华为云开发者联盟

welink 华为云FunctionGraph 华为开发者空间 MCP Server

时序数据库 TDengine × Looker Studio:不懂设计也能做出高颜值报表

TDengine

tdengine 数据分析 可视化 时序数据库 时序数据库tdengine

Nessus Professional 10.9 Auto Installer for macOS Sequoia

sysin

Nessus

白鲸开源斩获「创业新星企业奖」,双开源项目同步摘奖!

白鲸开源

数据库 大数据 开源 DataOps 白鲸开源

Tenable Nessus 10.9.0 (macOS, Linux, Windows) - 漏洞评估解决方案

sysin

Nessus

屏蔽海外流量是什么意思

网络安全服务

CDN 防火墙 waf DDoS 攻击 海外IP

政务一体化平台的小程序化构建路径:生态融合驱动下的数字化转型创新实践

xuyinyin

CAD图纸填充不完整是怎么回事?快试试这种方法!

在路上

cad cad看图

好消息!Apache DolphinScheduler 荣获上海上海菁英荟优秀开源项目奖

白鲸开源

大数据 开源 Apache DolphinScheduler 上海 大数据调度

360度全方位了解堡垒机作用-行云管家

行云管家

网络安全 数据安全 堡垒机

如何一眼定位SQL的代码来源:一款SQL染色标记的简易MyBatis插件

京东科技开发者

喜讯!Apache SeaTunnel 荣获上海开源创新菁英荟优秀开源项目奖

白鲸开源

开源 ETL 数据集成 Apache SeaTunnel 上海

Nessus Professional 10.9 Auto Installer for RHEL 9, AlmaLinux 9, Rocky Linux 9

sysin

Nessus

FinClip驱动App轻量化重构:组件化生态赋能前端效能跃迁

xuyinyin

某医药集团月结之战:从“数据泥潭”到“秒级决胜”的破局之路

YMatrix 超融合数据库

财务 HTAP 超融合数据库 HTAP 场景实践 YMatrix

开放创新,昇腾 CANN 再向深处

极客天地

等保测评公司是干什么的?哪里可以查到?

行云管家

等保 等保测评

低成本创业新方向:使用现成源码搭建游戏陪玩小程序平台

DUOKE七七

MySQL uniapp thinkphp

搭建Coze扣子文档智能问答Bot工作流,保姆级教程来了!

合合技术团队

人工智能 算法 #大数据

淘宝图搜接口功能解析,精准搜索相似商品

tbapi

淘宝图片搜索接口 淘宝拍立淘接口 淘宝图片api

Java的SPI机制详解

京东科技开发者

可观测领域的王者Dynatrace的故障定位能力验证

乒乓狂魔

可观测性 故障定位 AIOPS

Nessus Professional 10.9 Auto Installer for Windows

sysin

Nessus

通义灵码2.5 | 一个更懂开发者的 AI 编程助手

阿里巴巴云原生

阿里云 通义灵码

通义灵码2.5 | 一个更懂开发者的 AI 编程助手

阿里云云效

阿里云 通义灵码

iPhone开发者许可变更:反响强烈、结果难料_Apple_Abel Avram_InfoQ精选文章