如何使用本机模块在 React Native 中获取 iphone 内部存储中可用的所有 pdf 文件

How to get all the pdf files avalable in interanal storage of iphone in react native using native module

我想知道如何使用 objective c

访问 React Native Native 模块中 iphone 内部存储中的 .pdf 列表

您可以在您的 xcode 项目中实现简单的本机模块,以 return 应用程序文档目录中的文件列表来响应本机,例如:

FileList.h

#import <React/RCTBridgeModule.h>

@interface FileList : NSObject <RCTBridgeModule>
@end

FileList.m

#import "FileList.h"

@implementation FileList

RCT_EXPORT_MODULE(FileList)

RCT_EXPORT_METHOD(get:(NSString *)extension callback:(RCTResponseSenderBlock)callback) {
    NSString *documentsDir = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES).firstObject;
    NSArray *files = [NSFileManager.defaultManager contentsOfDirectoryAtPath:documentsDir error:nil];
    NSPredicate *predicate = [NSPredicate predicateWithFormat:@"self ENDSWITH %@", extension];
    NSArray *filtered = [files filteredArrayUsingPredicate:predicate];
    callback(@[filtered]);
}
@end

使用方法:

import {
    ...
    NativeModules,
} from 'react-native';

...

NativeModules.FileList.get('pdf', list => {
    print(list); // Prints: file1.pdf, file2.pdf etc.
});