Читать файл в директории проекта из родного кода 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 ответа
Вы действительно не хотите его из пути проекта, так как он не доступен для вашего приложения в нормальных условиях (он находится в песочнице)
Наиболее вероятная вещь, которую я думаю, вы хотите сделать, это
- Поместите файл в комплект приложения (просто убедитесь, что он находится в группе XCode и назначен цели вашего приложения).
Теперь оно будет развернуто внутри пакета вашего приложения на любом устройстве, на котором оно находится. Здесь только для чтения.
Прочитайте это, используя это:
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);
Убедитесь также, что файл добавлен в ваш проект, и свяжите его со списком файлов для вашей цели, выбрав правильную цель в "Членстве цели" в свойстве файла, как на изображении.
Надеюсь это поможет.