Я пытался реализовать закрепление 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
Где мне создать этот каталог www/certificates
?(Я пробовал корневой уровень проекта, уровень папки плагинов, уровень ресурсов и т. Д., Но ничего не получалось)
Есть ли что-то вроде путей областей / классов, о которых мне нужно заботиться в Objective-C?
Нужно ли что-либо указывать в файлах конфигурации для собственного приложения для загрузки этих расположений?
Раскрытие информации: я очень плохо знаком смобильное программирование и ценю любую помощь в этом отношении.