ios - 如何从Titanium移动项目资源文件夹下的iOS Titanium模块访问pdf文件?

标签 ios path titanium

我正在创建一个钛移动应用程序,其中包含用于PDF编辑的iOS模块。我在钛项目(Titanium Studio)资源目录中有一个 pdf 文件。如何从 iOS 模块访问 PDF 文件?

我使用Titanium.Filesystem.getResourcesDirectory()+'filename.pdf';获取了文件路径

并将 iOS 模块的路径作为方法参数传递。

如何获取iOS模块中的文件?

最佳答案

您可以使用 TiUtils 的方法“toUrl:proxy:”。文档中的示例如下,但它也适用于您从 JS 领域获取的参数(只需将“path”字符串替换为您自己的字符串):

NSString *path = [NSString stringWithFormat:@"modules/%@/foo.png",[self moduleId]];
NSURL *url = [TiUtils toURL:path proxy:self];
UIImage *image = [TiUtils image:url proxy:self];

“self”可以是你的模块,因为 TiModules 本身就是代理(换句话说,将其保留为 self 可能对你来说没问题)。

想要更完整的示例吗?看看我前段时间写的AirPrint模块。 “print:(id)args”方法接受一个 { url: "whatever.pdf"},将其转换为 URL,并在 UI 线程上用它做一些有趣的事情。

- (void)print:(id)args
{
    ENSURE_UI_THREAD(print,args);
    ENSURE_SINGLE_ARG(args,NSDictionary);

    NSURL* url = [TiUtils toURL:[args objectForKey:@"url"] proxy:self];
    if (url==nil) {
        NSLog(@"[ERROR] Print called without passing in a url property!");
        return;
    }

关于ios - 如何从Titanium移动项目资源文件夹下的iOS Titanium模块访问pdf文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15248798/

相关文章:

iphone - 简单导航 - Titanium

titanium - 在 View 的一侧设置边框?

ios - GoogleMaps SDK 类未声明的类型或未解析的标识符

ios - 通用 Storyboard中的 UISplitViewController 不会同时显示在 iPhone 6 Plus 的屏幕上

ios - 没有这样的模块 CWNotificationBanner

linux - 在 linux 中为同一程序的两个不同版本设置别名?

android - 集成 Pusher Android Titanium 模块时出现运行时错误

ios - arm64 iOS Swift Gstreamer 库不支持 rtspsrc (Xcode 10.1)

java - 如何从我的项目中获取文件(编写代码的地方)

winapi - 绕过 ITEMIDLIST 的 MAX_PATH 限制?