Cleaver (PhoneGap / Cordova в качестве компонента) не работает в iOS

Я попытался использовать Cleaver, то есть PhoneGap / Cordova в качестве компонента существующего приложения для iOS. Я следовал этому пошаговому руководствудважды, но безуспешно.

Мое приложение может легко создать экземпляр веб-представления, и я могу передавать ему содержимое с помощью метода stringbyevaluatingjavascriptfromstring, но как только я попытаюсь получить доступ к Api PhoneGap ( navigator.compass, navigator.network, ... ), кажется, ничего не работает. консоль.log(навигатор)не показывает никаких признаков объектов Cordova ( консоль.logничего не выводит Xcode, я использую http://debug.phonegap.com/). Событие devicereadyтакже не запускается.

В моем html-файле, Я включаю файл PhoneGap js cordova-1.7.0rc1.js, который я скопировал из другого проекта (так как папка /wwwотсутствует при использовании PhoneGap в качестве компонента).

Мой ViewController.hимпортирует . Вот мой ViewController.m

//
//  ViewController.m
//  CordovaComponent
//

#import "ViewController.h"

@interface ViewController (){
    CDVViewController *cdvViewController ;
}
@end

@implementation ViewController

- (void)pushPhoneGap:(id)sender {

    cdvViewController = [[CDVViewController alloc] init];
    cdvViewController.wwwFolderName = @"www";
    cdvViewController.startPage = @"index.html";
    cdvViewController.view.frame = self.view.bounds;
    cdvViewController.webView.delegate = self;
    [self.navigationController pushViewController:cdvViewController animated:YES];
}

- (void)viewDidLoad
{
    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.
    UIButton * button = [UIButton buttonWithType:UIButtonTypeRoundedRect];
    [button setTitle:@"Push PhoneGap view" forState:UIControlStateNormal];
    [button addTarget:self action:@selector(pushPhoneGap:) forControlEvents:UIControlEventTouchUpInside];
    button.frame = CGRectMake(60, 50, 200., 50.);
    [self.view addSubview:button];
}

- (void)viewDidUnload
{
    [super viewDidUnload];
    // Release any retained subviews of the main view.
}

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
    return (interfaceOrientation != UIInterfaceOrientationPortraitUpsideDown);
}

- (void)webViewDidFinishLoad:(UIWebView *)webView {
    NSString *jsReturn = [cdvViewController.webView stringByEvaluatingJavaScriptFromString:@"setArray([1, 1, 2, 3, 5, 8, 13, 21, 34, 1]);"];
    NSLog(jsReturn);
}

@end

У вас есть представление о том, что происходит? Будем очень признательны за любую помощь!

8
задан Brad Flower 30 December 2012 в 13:38
поделиться