Reputation: 480
does anyone have an idea which is the correct path to a file in the fileOpener2 plugin for Phonegap/cordova apps ? especially in the iOS version I have tried this out:
cordova.plugins.fileOpener2.open(
'examplePicture.jpg',
'image/jpeg',
{
error : function(errorObj) {
alert('Error status: ' + errorObj.status + ' - Error message: ' + errorObj.message);
},
success : function () {
alert('file opened successfully');
}
}
);
if I create an <img src="examplePicture.jpg">
tag, the picture will be displayed correctly. Safari debugger tells me that the resource wasn't found and if I try to test that in the iOS simulator the app crashes with this error:
2014-04-01 10:23:31.766 MobileApp[1162:70b] *** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'UIDocumentInteractionController: invalid scheme (null). Only the file scheme is supported.'
*** First throw call stack:
(
0 CoreFoundation 0x000e95e4 __exceptionPreprocess + 180
1 libobjc.A.dylib 0x01c628b6 objc_exception_throw + 44
2 CoreFoundation 0x000e9448 +[NSException raise:format:arguments:] + 136
3 Foundation 0x01842fee -[NSAssertionHandler handleFailureInMethod:object:file:lineNumber:description:] + 116
4 UIKit 0x007e5a7e -[UIDocumentInteractionController setURL:] + 201
5 UIKit 0x007e524f -[UIDocumentInteractionController initWithURL:] + 77
6 UIKit 0x007e51ea +[UIDocumentInteractionController interactionControllerWithURL:] + 59
7 MobileApp 0x00030da5 __20-[FileOpener2 open:]_block_invoke_2 + 69
8 libdispatch.dylib 0x021b67f8 _dispatch_call_block_and_release + 15
9 libdispatch.dylib 0x021cb4b0 _dispatch_client_callout + 14
10 libdispatch.dylib 0x021b975e _dispatch_main_queue_callback_4CF + 340
11 CoreFoundation 0x0014ea5e __CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE__ + 14
12 CoreFoundation 0x0008f6bb __CFRunLoopRun + 1963
13 CoreFoundation 0x0008eac3 CFRunLoopRunSpecific + 467
14 CoreFoundation 0x0008e8db CFRunLoopRunInMode + 123
15 GraphicsServices 0x031049e2 GSEventRunModal + 192
16 GraphicsServices 0x03104809 GSEventRun + 104
17 UIKit 0x0034fd3b UIApplicationMain + 1225
18 MobileApp 0x00023bbc main + 92
19 MobileApp 0x00023b4d start + 53
)
libc++abi.dylib: terminating with uncaught exception of type NSException
(lldb)
Is there also an alternative to this plugin which can open attachments (pictures, excel sheets, word docs) ?
EDIT: the fileOpener2 Object is also available in the app, so the plugin seems to be installed correctly
Upvotes: 1
Views: 2518
Reputation: 36
Try to change plugin's ios source (Plugins/FileOpener2.m) line
fileURL = [NSURL URLWithString:path];
to
fileURL = [NSURL fileURLWithPath:path];
For Cordova 3.4.0 (and above): If you have an entry from Filesystem instead of 'examplePicture.jpg' use entry.toNativeURL() for first parameter.
Upvotes: 2