2013-04-07 50 views
6

App Store评论指南说:“以任何方式或形式下载代码的应用程序将被拒绝。”什么样的下载代码违反了App Store评论指南?

我想制作一个应用程序使用挑战 - 响应进行身份验证。该应用程序有一套基本算法,如SHA-1,SHA-256,MD5,DES,AES等。挑战服务器所做的包含一系列随机排列的算法名称和一个字符串名称A.客户端使用算法和挑战指示的序列来操作字符串A,并将其作为响应返回给服务器。

虽然我在服务器和客户端之间传输的是一串字符串,但它们确实改变了我的应用程序的行为。我应该认为他们是一种代码形式吗?如果没有,为什么下载shell代码执行被Apple禁止?我的意思是,shell代码也是一堆字符串,由运行环境解释。本质区别在哪里?

原谅我的英文:)

回答

7

苹果担心什么和想要防止的是,通过审批程序得到应用(伪装成良性的东西),后来改变其基本的功能。

一个极端的例子就是应用程序在用户设备上安装新的恶意可执行代码后下载。

苹果正在使用广泛的措辞,以便能够拒绝任何以任何方式试图危害用户的应用程序。不可能具体描述这种情况发生的每种技术和具体方式,所以苹果保持措辞宽松。

应用程序“下载代码”以某种形式或其他形式存在,请考虑访问返回JSON格式响应的API的应用程序。从技术上讲,这可以被视为代码,它可以改变应用程序行为(哪个视图显示,哪些选项可以在某个视图上可用等)。但以这种方式访问​​API的应用肯定不会被拒绝。

从我可以从您的问题中收集的信息,听起来您不必担心指南中的特定条款。

+0

据我所知,代码签名确保没有下载任何可执行文件(非越狱设备)。那么我不明白Apple真正意味着哪种代码? – MasterBeta 2013-04-07 07:43:33

+0

这是我极端的例子:我的应用程序基本上是一个“shell”代码解释引擎。引擎提供的所有元操作都不是恶意的。所以苹果认可我的应用程序,并且代码被签署为可在任何设备上执行。然后,我的应用程序下载一个带有恶意目的的“shell”代码。它被解释,转换为一些可以做Apple不允许的元操作。苹果能做些什么? – MasterBeta 2013-04-07 07:57:25

+0

他们可以从商店中删除您的应用程序和/或将您踢出开发人员计划。实际上没有任何技术方法可以阻止执行可能通过后门注入的解释代码。 – omz 2013-04-07 11:34:56