Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/40.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone iOS:下载脚本并执行它?_Iphone_Ios_Ipad - Fatal编程技术网

Iphone iOS:下载脚本并执行它?

Iphone iOS:下载脚本并执行它?,iphone,ios,ipad,Iphone,Ios,Ipad,我们有一个应用程序,基本上可以解析一些网页。问题是网页的结构有时会改变,所以我们需要发布更新(当然要等待苹果的批准)。我们希望能够在我们的服务器上有某种“脚本逻辑”,可以在需要时发送到应用程序。JavaScript代码是可能的,但我不想让UIWebView仅仅用于解析一些字符串。有什么替代方案吗 谢谢您可以嵌入像lua这样的脚本语言。见和。我对它知道的不多,但它在许多应用程序中被用于编写脚本,就像您的需要一样 我不是100%知道如何集成它,或者脚本是否可以热加载,但它可能会工作 注: 我不确定苹

我们有一个应用程序,基本上可以解析一些网页。问题是网页的结构有时会改变,所以我们需要发布更新(当然要等待苹果的批准)。我们希望能够在我们的服务器上有某种“脚本逻辑”,可以在需要时发送到应用程序。JavaScript代码是可能的,但我不想让UIWebView仅仅用于解析一些字符串。有什么替代方案吗


谢谢

您可以嵌入像lua这样的脚本语言。见和。我对它知道的不多,但它在许多应用程序中被用于编写脚本,就像您的需要一样

我不是100%知道如何集成它,或者脚本是否可以热加载,但它可能会工作

注:


我不确定苹果是否会允许您下载并运行任意脚本,但值得一试。

否。开发者程序许可协议明确禁止运行非应用程序嵌入式组件的可执行文件或脚本:

3.3.2.应用程序不能下载或安装可执行代码。只有当所有脚本、代码和解释器都打包在应用程序中且未下载时,才能在应用程序中使用解释代码。上述情况的唯一例外是由苹果内置的WebKit框架下载和运行的脚本和代码


如果您主要是在寻找一种解析字符串的方法,一种可能是使用正则表达式来完成这项工作,从而在可以下载的文本或xml文件中为这些正则表达式提供定义。这不是一个完整的脚本解决方案,就像您下载代码并执行它一样,但它应该同样有效。我想这也应该完全符合苹果的条款


有几种iOS框架提供regex支持:,在iOS 4中也有。

如果你的应用程序只执行网页,它可能会被拒绝。相关:此问题和本文正确,没有下载可执行或解释代码。也就是说,下载一个描述网页布局的配置文件——例如,带有“mainttl”类的div应该插入到对象的“mainttitle”属性中的本地数据存储中——不一定被视为解释代码。如果你可以在shipping应用程序中保留逻辑(是的,这对于灰色区域来说是完全开放的),并且不在下载中,你就不会违反这一部分。下载AES加密的JS有效负载与使用简化的描述格式不一样吗?对不起,我不同意这一点。微信()和益智龙等现有应用下载插件,并在应用中添加新功能。他们是如何实现的?@ShivanRaptor:将这些功能的所有代码驻留在主应用程序中,并且只有在购买了相应的IAP后才激活它。在上述应用程序中,IAP不参与。他们从服务器上下载超过10MB的数据&新功能出现了。。。嗯,我想那是图形吧。无法证明thoughLua脚本在各种iOS游戏中都是本地解释的;但是,安装时脚本必须已经存在于应用程序中,以后无法下载和解释它们。@tjameson:谢谢,我已经看过lua一点了,它与C语法非常不同。。。那么有没有一个更像“c”的选项呢?很好。我在其他地方读到过,它与苹果的条款100%一致。不过,值得一试。@Alex1987-不,JavaScript是最接近的。我会尽量避免违反苹果的条款。让你的代码尽可能健壮,如果你需要额外的功能,在允许运行任意代码的服务器端执行(苹果不能让他们的脏小手伸进那里)。@tjameson:是的,JS的问题是我需要为那些非常昂贵的东西保留一个UIWebView。我想知道是否有一种方法可以在没有UIWebViews的情况下执行简单的JS代码。我认为这是简单解析字符串的最佳解决方案。