新的iPhone Dev政策...... Apple如何执行此政策?

时间:2010-06-06 23:46:09

标签: iphone

Apple不希望任何人在Xcode / Objective-C环境之外创建iPhone应用程序。他们怎么能实际执行这个?

如果非Xcode IDE(例如Unity)编译为iPhone可执行文件,Apple将如何知道您用于创建应用程序的开发环境?他们可以让Xcode在可执行文件中编译某种签名吗?没人知道吗?

4 个答案:

答案 0 :(得分:1)

对于统一,电晕,闪光灯和其他用于“生成”iphone应用程序的平台等工具,Apple可能能够“反编译”并检查您的应用程序(查看生成的函数的模式等)。从这一点来看,他们可能会猜到你的应用程序是用这样的工具生成的。

在极限情况下,这是不可能的。请考虑以下内容:我编写了一些脚本代码来生成一堆Objective-c代码。然后我手动将objective-c文件导入xcode并构建应用程序。 apple如何能够将脚本生成的代码与人工编写的代码区分开来?也许我只是倾向于编写看起来像机器生成的代码。苹果无法确定代码是否“最初是用Objective-c,c,c ++或javascript编写的”,但从技术上讲,这仍然会违反协议。这就是为什么协议的3.3.1部分是无意义的。

答案 1 :(得分:1)

大多数自动化系统以特定方式执行操作,这并不难检测。例如,如果你曾经看过Adobe Dreamweaver生成的PHP或JavaScript代码,你就会知道找到这样的东西是多么容易。

答案 2 :(得分:1)

Apple这样做是为了阻止人们使用Adobe的Flash开发框架。还应该指出的是,Apple决定限制这样的应用框架,导致DOJ / FTC或某些政府机构开始对垄断行为进行非正式调查。

From this article: “根据邮报的好莱坞消息来源,苹果公司禁止在iPhone和iPad上使用Adobe的Flash技术,这促使政府四处寻找。”

到目前为止,他们在其他框架中确实没有问题,因为Adobe没有基于Flash环境的问题。现在有一个,苹果将限制任何谈话/外观/气味/行为像iPhone上的Adobe Flash应用程序。在我看来,他们不会对其他框架做任何事情,但他们会为Adobe强制执行规则。这带来了整个垄断行为的事情。

答案 3 :(得分:0)

我相信很多这些翻译工具都有某种常见的运行时函数库,可以处理1:1无法翻译的部分。无论您的应用程序如何,这些功能都可以保持不变。这样就没有真正需要反编译应用程序。但只需查看这些功能签名的使用情况。

FWIW我发现限制用户选择工具的整个想法是一个不好的举动。