Читать файл в директории проекта из родного кода iOS?

У меня есть приложение-родной приложение, которое имеет некоторые настройки в файле с именем 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 ответа

Решение

Вы действительно не хотите его из пути проекта, так как он не доступен для вашего приложения в нормальных условиях (он находится в песочнице)

Наиболее вероятная вещь, которую я думаю, вы хотите сделать, это

  1. Поместите файл в комплект приложения (просто убедитесь, что он находится в группе XCode и назначен цели вашего приложения).

Теперь оно будет развернуто внутри пакета вашего приложения на любом устройстве, на котором оно находится. Здесь только для чтения.

  1. Прочитайте это, используя это:

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

Я не очень люблю приложения React-Native, но мне кажется, что это проблема iOS-проекта. Зарегистрированный / в этом случае ссылается на папку приложения /Users/currentUser/Documents/development/ReactProject, Поэтому попробуйте прочитать файл как строку с:

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

Убедитесь также, что файл добавлен в ваш проект, и свяжите его со списком файлов для вашей цели, выбрав правильную цель в "Членстве цели" в свойстве файла, как на изображении.

Надеюсь это поможет.

Доступ к свойству файла, нажав на файл

Другие вопросы по тегам