与科尔多瓦1.6在iOS设置外部起始页(Setting an external startpage

2019-09-16 16:23发布

是有可能加载外部的index.html(与包括cordova.js)而不是本地一个的?

我在此appdelegate.m代码中发现:

self.viewController.wwwFolderName = @"www";
self.viewController.startPage = @"index.html";

我想引用一个外部链接,但没有运气。任何人都知道一个解决方案?

PS

与Android很容易:

super.loadUrl("http://192.168.1.135:3000/");

Answer 1:

我这样做我的项目(AppDelegate.m):

self.viewController = [[[MainViewController alloc] init] autorelease];
self.viewController.useSplashScreen = YES; // YES;
self.viewController.wwwFolderName = @""; // @"www";
self.viewController.startPage = @""; // @"index.html";
self.viewController.invokeString = invokeString;
self.viewController.view.frame = viewBounds;

// Load request with new root URL
NSURL *urlOverwrite = [NSURL URLWithString:@"http://kyryll.com"];
NSURLRequest *request = [NSURLRequest requestWithURL:urlOverwrite];

[self.viewController.webView loadRequest:request];

至于其他地方提到的,您试图访问的网站已列入白名单。

它的工作很好。 我的外部网站是在本地IIS并具有cordova.js以及几个插件。 现在,只需要看看我是否得到苹果批准我的应用程序!



Answer 2:

如果包括PhoneGap的源作为子项目 (我用1.7和方向仍然工作,看到我的末注),你可以添加几行代码,让PhoneGap的支持外部URL作为startPage

大约133行,你要添加

if([self.startPage hasPrefix:@"http"]) {
    appURL = [NSURL URLWithString:self.startPage];
}
else 

权利之前if (startFilePath == nil) {

默认情况下,PhoneGap的似乎不支持外部起始页的网址没有一个javascript“技巧”如上所述。 除了这个(和),我知道没有别的办法!

让我知道如果您有更多问题。

注:正如我上面提到的演练中缺少的一个步骤。 我评论的文章,​​让笔者知道,但尚未批准。 下面是我的评论:

这是缺少我这样的步骤加入$(CORDOVALIB)/班在构建阶段的头文件搜索路径(也标志着它递归搜索)。 除此之外,伟大的写了!



Answer 3:

对于iOS这将是:

self.viewController.wwwFolderName = @""; // @"www"
self.viewController.startPage = @"http://192.168.2.107:9000/";

名称是令人困惑,因为起始页也是URL。



Answer 4:

我所做的是最简单的方法,包括下面的脚本块index.html文件,如果不需要删除其他代码:

<script type="text/javascript">
     window.location.href="http://192.168.1.135:3000/";
</script>

而包括在主机ExternalHosts映射PhoneGap.plist文件,还要检查OpenAllWhitelistURLsInWebView设置为YES的plist文件



Answer 5:

设置wwwFolderName空字符串并没有为我工作,但无工作。

self.viewController.wwwFolderName = nil;
self.viewController.startPage = @"http://192.168.2.107:9000/";


Answer 6:

The simplest way I did is, xxxViewController: CDVViewController<...>

-(void) viewDidLoad{
    self.wwwFolderName = @"dist";
    self.startPage = @"test.html";
    [super viewDidLoad];
}

so,that is all.



文章来源: Setting an external startpage with Cordova 1.6 on iOS