Как вернуть URL ресурса из цели C в javascript в проекте iOS cordova?

Я пытаюсь проект Cordova для IOS. Я получил URL ресурса в своем журнале, и я попытался с этим URL в моем коде, и он отлично работает. Но мне нужен этот URL-адрес актива как возвращаемое значение из цели C в javascript.

- (void)saveImageDataToLibrary:(CDVInvokedUrlCommand*)command{
    self.callbackId = command.callbackId;
    NSData* imageData = [NSData dataFromBase64String:[command.arguments objectAtIndex:0]];

    UIImage* image = [[[UIImage alloc] initWithData:imageData] autorelease];

    UIImageWriteToSavedPhotosAlbum(image, self, @selector(image:didFinishSavingWithError:contextInfo:), nil);

    UIImage *viewImage = image;  // --- mine was made from drawing context
    ALAssetsLibrary *library = [[ALAssetsLibrary alloc] init];
    // Request to save the image to camera roll
    [library writeImageToSavedPhotosAlbum:[viewImage CGImage] orientation:(ALAssetOrientation)[viewImage imageOrientation] completionBlock:^(NSURL *assetURL, NSError *error){
        if (error) {
            NSLog(@"error");
        } else {
        NSLog(@"url %@", assetURL);
        }
    }];
    [library release];
}

- (void)image:(UIImage *)image didFinishSavingWithError:(NSError *)error contextInfo:(void *)contextInfo{
    // Was there an error?
    if (error != NULL)
    {
        // Show error message...
        NSLog(@"ERROR: %@",error);
        CDVPluginResult* result = [CDVPluginResult resultWithStatus: CDVCommandStatus_ERROR messageAsString:error.description];
        [self.webView stringByEvaluatingJavaScriptFromString:[result toErrorCallbackString: self.callbackId]];
    }
    else  // No errors
    {
        // Show message image successfully saved
        NSLog(@"IMAGE SAVED!");
        CDVPluginResult* result = [CDVPluginResult resultWithStatus: CDVCommandStatus_OK messageAsString:@"Image saved"];
    [self.webView stringByEvaluatingJavaScriptFromString:[result toSuccessCallbackString: self.callbackId]];
    }
}

Вот.... Этот код дает мне журнал....

NSLog(@"url %@", assetURL);

Я хотел бы получить это assetURL как мое возвращаемое значение в мой JavaScript, где я вызываю эту функцию...

Я застрял здесь на неделю...

Помоги мне избавиться от этого...

Спасибо заранее.....

1 ответ

Решение

Спасибо всем, кто попробовал это.... Я получил это после некоторых поисков.... Я добавил код после этой строки NSLog в коде, показанном выше... Это выглядит следующим образом...

NSLog(@"url %@", assetURL);
        CDVPluginResult* result = [CDVPluginResult resultWithStatus: CDVCommandStatus_OK messageAsString:[assetURL absoluteString]];
        [self.webView stringByEvaluatingJavaScriptFromString:[result toSuccessCallbackString: self.callbackId]];
Другие вопросы по тегам