Apple Store指南。混合移动应用程序中的外部JavaScript文件

问题描述:

如果核心功能(AngularJS应用程序初始化,控制器,服务)从外部源获取且未包含在项目中,使用Cordova开发的混合应用程序是否会通过评审在Apple Store中发布?Apple Store指南。混合移动应用程序中的外部JavaScript文件

的index.html文件将是这样的:

<!DOCTYPE html> 
<html>  
<head> 
    <base href="http://test.com:8080/" />   
    <title>Application</title> 
    <link href="app.css" rel="stylesheet" /> 
    <script type="text/javascript" src="file:///android_asset/www/js/jsLib.js"></script> 
    <script type="text/javascript" src="js/jsApp.js"></script> 
</head> 

<body> 
    <div ng-app="app"></div> 
</body> 

</html> 

它会通过标准的App Store Review Guidelines

2.5.2的应用应是自包含在它们的束,并且可以不读出或写入所指定的容器区域外的数据,也不得下载,安装,执行或代码,包括其他iOS,watchOS,MACOS ,或tvOS应用程序。

否这不是问题,因为Cordova只是为您提供WebView,而您的代码只是在该webview中运行。在webview上运行的内容可以捆绑在应用程序(www目录)中,也可以托管在某处,然后您可以在webview上运行它。唯一值得关注的是应用程序的性能会很慢,如果JavaScript逻辑被下载,然后在应用程序上运行,而不是捆绑在应用程序中。

这是iOS开发人员协议中的一部分。

3.3.2除了下一段的规定,应用程序不得下载或安装可执行代码。如果所有脚本,代码和解释程序都打包在应用程序中并且没有下载,则只能在应用程序中使用解释的代码。前述的唯一例外情况是脚本和代码由Apple的内置WebKit框架或JavascriptCore下载并运行,前提是这些脚本和代码不会改变应用程序的主要用途,因为它提供的功能或功能与预期的宣传了应用程序提交给App Store的目的。

只要你符合这个标准,你应该没问题。

另请参阅我的答案,在这里我提到如果没有可用的网络,就可以使用基本功能。

https://*.com/a/43504441/7837081