2015-11-25 95 views
2

我必須根據本機IOS應用程序中的用戶訪問加載多個cordova應用程序。 我想動態加載的zip文件的應用程序啓動並將其存儲在文件或庫文件夾,然後解壓縮這些文件,然後我試圖直接加載使用下面的代碼科爾多瓦意見,我的視圖控制器在本地IOS應用程序中加載多個Cordova Micro應用程序

CDVViewController* viewController = [CDVViewController new]; 
[email protected]"www"; 
[email protected]"abc.html"; 
viewController.view.frame=CGRectMake(0, 0, 320, 480); 
[self.view addSubview:viewController.view]; 

但問題是,如果我動態指向Documents或Library文件夾,它只接受與應用程序一起提供的根文件夾,則wwwFolderName不起作用,所以我想知道該如何實現此用例。

+0

可以從文檔或庫中加載HTML內容,但CDVViewController.wwwFolderName不準備從那裏加載文件。你可以搜索一些下載html並加載它的「內容同步」插件,並檢查它們是如何做到的。 – jcesarmobile

回答

0

如果我明白你正確的,這裏有一個例子,其中YOUR_APP_PATH是目錄,在那裏你想存儲你的應用程序源字符串路徑,YOUR_SEARCH_PATH是NSLibraryDirectory或NSDocumentsDirectory

- (void)openApp  
    NSString *filePath = [self directoryToApp:YOUR_APP_PATH forSearchPath:YOUR_SEARCH_PATH]; 
    NSURL *url = [NSURL fileURLWithPath:filePath]; 
    NSURLRequest *request = [NSURLRequest requestWithURL: url 
              cachePolicy:NSURLRequestReloadIgnoringLocalCacheData 
             timeoutInterval: 20.0]; 
    [self.webView loadRequest:appReq request; 
} 

- (NSURL *)directoryToApp:(NSString *)appPath forSearchPath:(NSSearchPathDirectory)searchPath{ 
    NSString *basePath = [self applicationDocumentsDirectory:searchPath].absoluteString; 
    return [NSURL fileURLWithPath:[basePath stringByAppendingString:appPath]]; 
} 

- (NSURL *)applicationDocumentsDirectory:(NSSearchPathDirectory)searchPath 
{ 
    return [[[NSFileManager defaultManager] URLsForDirectory: searchPath 
                inDomains: NSUserDomainMask] lastObject]; 
} 
0

讓你wwwFolderName是以下內容:

viewController.wwwFolderName=[NSString stringWithFormat: @"file://%@/www", [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0]]; 

這會將啓動目錄指向文檔目錄內的www文件夾。

相關問題