从本机iOS代码读取项目目录中的文件?

时间:2016-06-06 19:39:37

标签: ios objective-c react-native

我有一个react-native应用程序,在名为settings.json的文件中有一些设置。我想从我的原生iOS代码中读取文件中的一个设置。我尝试了下面的代码:

NSFileManager *filemgr;
NSString *currentpath;
filemgr = [NSFileManager defaultManager];
currentpath = [filemgr currentDirectoryPath];
NSLog(@"Value of filePath = %@", currentpath);

但每次都记录路径/。如何获得我的实际项目的路径,如下所示:/Users/currentUser/Documents/development/ReactProject

我显然无法将此硬编码到我的应用中。如何获取当前react-native项目的目录?

2 个答案:

答案 0 :(得分:2)

您并非真的希望从您的项目路径中获取它,因为在正常情况下您的应用无法使用它(它位于沙箱中)

我认为你最想做的事情是

  1. 将文件放入您的应用包中(只需确保它在Xcode组中并分配给您的应用目标)。
  2. 现在,它将部署在您应用的捆绑包内,无论它在哪个设备上。它是只读的。

    1. 使用以下方式阅读:

      NSString *filePath = [[NSBundle mainBundle] pathForResource:@"settings" ofType:@"json"]; 
      

答案 1 :(得分:0)

我不是真的进入React-Native应用程序,但在我看来这是一个与iOS项目相关的问题。 记录的/引用此案例/Users/currentUser/Documents/development/ReactProject中的应用程序文件夹。 因此,尝试将文件作为字符串读取:

NSString *settings = [[NSBundle mainBundle] pathForResource:@"settings"   ofType:@"json"];
NSLog(@"Content of settings: %@", settings);

确保将文件添加到项目中,并通过在文件的“目标成员资格”属性中选择正确的目标,将其链接到目标文件列表。

希望这有帮助。

check the source code