2013-07-11 50 views
0

目标是有一个“查看PDF”按钮,它允许用户在iPad上查看PDF。为科尔多瓦2.9.0添加一个本地插件xcode

这是我想添加到Cordova(Phonegap)的plugin

This是GitHub上的代码。

到目前为止,我已经更新了我的HTML文件运行按钮点击脚本和相同的功能(这一切都是在body标签就像他的例子):

<button id="externalPdf" onclick="app.openExternalDoc();">Open pdf</button> 
<script type="text/javascript" src="../assets/js/index.js"></script> 
<script type="text/javascript" src="../assets/js/ExternalFileUtil.js"></script> 
<script type="text/javascript"> 
    console.log("initialize app"); 
    app.initialize(); 
</script> 

我抄Index.js和ExternalFileUtil.js到项目中。

我已经挂了2 Objective-C的文件

而且我已经编辑config.xml文件来运行该插件的插件文件夹(不知道这是正确的):

<plugins> 
    <plugin name="ExternalFileUtil" value="CDVExternalFileUtil"/> 
</plugins> 

它似乎仍然没有工作,任何想法?

感谢

回答

3

插件需要更新,以便与最新版本的PhoneGap用它来使用new plugin signature。 JS是好的,但Objective-C需要更新。

例如,更改:

- (void) openWith:(NSMutableArray*)arguments withDict:(NSMutableDictionary*)options; 

- (void) openWith:(CDVInvokedUrlCommand*)command; 
+0

如果我这样做的改变,它带来了略低于 – smj2393

+0

3个错误的说法未申报的参数你需要改变的不仅仅是该行更 - 那只是一个例子。该插件需要完整的返工。您需要更改.h和.m文件中的签名。另一个变化是参数如何传递给插件,例如'NSString * path = [arguments objectAtIndex:0];'必须改为'NSString * path = [command.arguments objectAtIndex:0];' – DaveAlden

+0

我设法得到它在没有提及您所提及的更改的情况下运行。 当您取消注释底部的2个NSLog文件时,它从CDVExternalFileUtil.m中输出: 文件路径:/var/mobile/applications.53.....08/Documents/ doc.PDF 文件存在:0 可在路径上删除:1 但它不像上面链接的预览那样运行。 程序中的所有其他代码似乎运行正常,没有任何错误... – smj2393