写点什么

苹果放宽 iPhone 开发工具和数据共享限制

2010 年 10 月 12 日

苹果近日宣布,他们“听取我们的开发者”和“我们放宽用于创建 iOS 应用程序的开发工具的所有限制,只要最终的应用程序没有下载任何代码就行了。” 他们还宣布,“我们将首次发布 App Store 审查指南,以帮助开发者了解我们如何审查提交的应用程序。”

开发工具

早在 4 月,苹果限制 iPhone 的开发只能使用他们的开发工具(正如 InfoQ 当时报道的那样)。该限制(协议的第 3.3.1 部分)已经完全取消,特别是这里提到的所有语言都被删除了:

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

协议的第 3.3.2 部分也改变了:它禁止应用程序“以任何方式启动其它可执行代码,包括但不限于使用插件架构,调用其它框架,其他 API,或以其它方式。现在已经放宽,并且恢复到旧规则:

3.3.2 应用程序不能下载或安装可执行代码。仅当所有脚本、代码和解释器都包含在应用程序里而非下载的,解释代码才可用于应用程序。上述限制的唯一例外是由苹果内置的 WebKit 框架下载和运行的脚本和代码。

这些规则将再次允许使用诸如 Adobe Flash 开发应用程序。不过,正如 Stephen Shankland在博客提到的:

苹果和 Adobe 并没有对此立刻作出回应。但有一点是明确的:Adobe 还没决定就此取消 Flash-to-iOS 项目,但重拾这个项目也不简单。

鉴于最近的趋势,谷歌的 Android 手机操作系统正在迅速抢占苹果的 iOS 市场份额,这一变化可能是一个前瞻性的举措,以确保开发人员继续为 iPhone 以及 Android 开发应用程序。当然,开发者对于跨平台移动开发的兴趣是浓厚的,这点可以从 Appcelerator 的使用增长上看到,它能够用来开发 iPhone、Android 和 ipad 的应用程序。Mashable注意到

截至今天,已有超过 65,000 开发者签约使用 Titanium,iPhone 的 App Store 或 Android Market 上已有超过 4000 使用 Titanium 创建的应用程序。

数据共享的限制放宽

今年 6 月,苹果阻止其应用程序与许多公司共享数据,阻止应用程序“收集、使用或向任何第三方披露用户或设备的数据,”除非应用程序需要或通过“主营业务是提供移动广告的独立广告服务提供商”提供广告服务。比较特别的是,它排除了谷歌(及其 AdMob 部门,通过补充条款):“……(例如,隶属苹果以外的移动设备、移动操作系统或开发环境的开发商或经销商的广告服务提供商将不被认可为独立的)。”

这次改变是由 Flurry Analytics 关于未发布设备的报告触发的,以作为史蒂夫•乔布斯在 D8 会议上的回应,其中他也表示,他们愿意允许分析“仅作广告”之用。新协议的语言已被软化,在很大程度上,现在的重点是只需用户同意以及禁止分析软件获取设备的数据:

3.3.9 你和你的应用程序未经用户同意不能获取用户或设备的数据,只能提供与应用程序的使用或广告的投放直接相关的服务或功能。你不能使用应用程序里的分析软件收集并向第三方发送设备的数据。

关于谷歌的限制也被取消。谷歌反应积极,说:

不像以前的版本,这些新的条款确保苹果的开发者在广告解决方案上有足够的选择(包括谷歌的和 AdMob 的),能够赚钱并养活他们的应用程序。苹果的新条款将保证 iPhone 的应用程序广告对许多不同移动广告竞争对手开放,并使广告解决方案的运作能跨越更多平台。

审查指南发布

最后,许可协议的更新伴随着苹果 App Store 审查指南的发布。

华尔街日报的 Jennifer Valentino-DeVries 在博客里报道了这件事:“苹果公司似乎是说,它把应用程序看作其品牌的一个重要组成部分,而不仅仅是通过其系统发布的东西。”此外还指出

“我们在 App Store 里拥有超过 25 万应用程序。我们不再需要无聊的应用程序。如果你的应用程序不做有用的事情或提供有持效性的娱乐内容,它可能会被拒绝。”“如果你的应用程序看起来就像是用几天时间拼凑起来的,或者你想把你的第一个试验应用程序进入商店,以便打动你的朋友,请鼓起勇气拒绝自己这样做。我们有认真的开发者,他们不希望自己高质量的应用程序被许多业余玩意儿包围。”这些话 Steve Jobs 好像已经说了很多遍。就在这个月,他再次提及这个词儿——“业余玩意”——在谈及消费者不希望在互联网电视上看到的东西时。……但评论也明确指出,苹果认为应用程序市场正在成长。起初可能是无聊的应用程序使之进入这个市场,但那已不再是人们想要的了。

华盛顿邮报的 Rob Pegoraro 指出“这些规则许多都是常识性的指导方针”,但他发现了更多有争议性的规则,如:

2.11 重复 App Store 里已有应用程序的应用程序可能会被拒绝,特别是如果它们已经有很多了。2.12 不是非常有用的或不提供任何有持效性的娱乐价值的应用程序可能会被拒绝。3.1 应用程序的元数据提及任何其他移动平台的名字将会被拒绝。……9.3 使用蜂窝电话网络的音频流内容不得在 5 分钟内使用超过 5MB 的流量。……15.3 游戏中“敌人”不能只针对特定的种族、文化、真实政府或公司,或任何其他真实的实体。

总的来说,苹果的改变对于他们的开发者来说是很受欢迎的,虽然这些限制还有问题。

查看英文原文: Apple Relaxes iPhone Development Tool and Data Sharing Restrictions

2010 年 10 月 12 日 21:062045

评论

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

没有调查,就没有发言权 Jan 12, 2021

王泰

28天写作

前端大佬们都在推荐的“绿宝书”你值得拥有

华章IT

JavaScript typescript 前端开发 web开发 犀牛书

技术人小故事-团队愿景篇-第4段

Ian哥

28天写作

新官上任,如何开始你的管理工作(下)

一笑

团队管理 管理 28天写作

28天瞎写的第二百一五天:为了看片儿折腾 Linux 的故事

树上

28天写作

为什么泡泡玛特是一个好生意

lidaobing

28天写作 泡泡玛特

智联招聘的微前端落地实践——Widget

智联大前端

前端 前端架构 前端框架 微前端

Java 源代码解析 | 集合类 | Set

肥鱼先生

作为社畜,如何做好精力管理

熊斌

精力管理 28天写作

基于网络开放可编程技术构建新一代网络设备运管平台

华为云开发者社区

运维 网络 运维自动化 金融

这5个让人窒息的烂代码,你看完都忍不了

华为云开发者社区

GitHub 代码 代码注释 null

智能合约APP开发|智能合约系统软件开发

开發I852946OIIO

系统开发

hive JOIN操作分析

梧桐

生产环境全链路压测建设历程 27:FAQ 之 业务模型相关

数列科技杨德华

28天写作

【JS】防止浏览器控制台被直接查看(2)

学习委员

JavaScript chrome 前端 js 28天写作

技术干货!HDFS读写原理和代码简单实现

华为云开发者社区

hadoop hdfs 架构 MRS 元数据

做视频最大的困难是什么?为什么要保持日更? | 视频号 28 天 (05)

赵新龙

28天写作

Elasticsearch 核心概念

escray

elasticsearch elastic 28天写作 死磕Elasticsearch 60天通过Elastic认证考试

距离Java开发者玩转 Serverless,到底还有多远?

博文视点Broadview

Redis学习笔记01:SDS 简单动态字符串

架构精进之路

redis 七日更 28天写作

SpringCloud 从入门到精通 06--- Eureka服务端

Felix

kafka如何做到无消息丢失配置

topsion

kafka 消息不丢失

SpringCloud 从入门到精通 07--- 订单服务和支付服务注册进Eureka

Felix

Python解释器和IPython

程序那些事

Python 数据分析 ipython 程序那些事 Python解释器

Dubbo 就是靠它崭露头角!

yes

dubbo 后端 RPC

Java单例7种测试实践

叫练

单例模式 单例 手写单例 饿汉式 懒汉式

2021,加料!

浪潮云

云原生 工业互联网

Java 源代码解析 | 集合类 | LinkedList

肥鱼先生

微服务该如何拆分?

xcbeyond

微服务 方法论 微服务拆分 架构设计原则 28天写作

HDFS SHELL详解(5)

罗小龙

hadoop 28天写作 hdfs shell

代码编译时自动完成白盒测试,这真的可以

华为云开发者社区

c++ 测试 代码 框架

技术为帆,纵横四海- Lazada技术东南亚探索和成长之旅

技术为帆,纵横四海- Lazada技术东南亚探索和成长之旅

苹果放宽iPhone开发工具和数据共享限制-InfoQ