Где разместить файлы в Objective-C и как читать их программно с помощью NSBundle - PullRequest
0 голосов
/ 05 июля 2019

Я пытался реализовать закрепление SSL для гибридного приложения с помощью плагина, который создает собственный код для требуемой функциональности.

Внутри сгенерированного собственного проекта код Objective-C включает следующую функцию для чтения файлов сертификатов (X.509 DER .cer) из местоположения www/certificates.

// AFSecurityPolicy.m    
+ (NSSet *)certificatesInBundle:(NSBundle *)bundle {
        NSArray *paths = [bundle pathsForResourcesOfType:@"cer" inDirectory:@"www/certificates"];
        NSMutableSet *certificates = [NSMutableSet setWithCapacity:[paths count]];

        for (NSString *path in paths) {
            NSData *certificateData = [NSData dataWithContentsOfFile:path];
            [certificates addObject:certificateData];
        }

        return [NSSet setWithSet:certificates];
    }

Но из-за известной ошибки в плагине это местоположение не создается автоматически (в идеале, должно), и мне нужно вручную создать местоположение www/certificates и включить в него мои файлы сертификатов,

Структура моего исходного файла выглядит следующим образом.

ios
|--App
|  |--App.xcodeproj/
|  |--App.xcworkspace/
|  |--Pods/
|  |--public/
|  |--Podfile/
|  |--Podfile.lock
|--capacitor-cordova-ios-plugins
|  |--resources/
|  |--sources
|  | |--AFSecurityPolicy.h
|  | |--AFSecurityPolicy.m
|  | |--......
|  |--CordovaPlugins.podspec
|  |--CordovaPluginsResources.podspec
|  |--CordovaPluginsStatic.podspec
  1. Где мне создать этот каталог www/certificates?(Я пробовал корневой уровень проекта, уровень папки плагинов, уровень ресурсов и т. Д., Но ничего не получалось)

  2. Есть ли что-то вроде путей областей / классов, о которых мне нужно заботиться в Objective-C?

  3. Нужно ли что-либо указывать в файлах конфигурации для собственного приложения для загрузки этих расположений?

Раскрытие информации: я очень плохо знаком смобильное программирование и ценю любую помощь в этом отношении.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...