Импорт библиотек C в Swift FrameworkIOS

Программируем под IOS
Ответить
Anonymous
 Импорт библиотек C в Swift Framework

Сообщение Anonymous »

Я написал некоторый криптографический код, построенный на основе OpenSSL, и добавил дополнительную логику, вызывающую его в функциях C и соединяющую его с Swift для использования в моем приложении iOS. У меня не было проблем с тем, чтобы это заработало, но теперь я хотел бы извлечь это в свою собственную структуру/библиотеку, чтобы иметь возможность публично распространять его.
Я попробовал импортировать то же самое так же, как и мое приложение для iOS, но с той лишь разницей, что я не могу использовать связующий заголовок, а вместо этого мне нужно использовать карту модуля и зонтичный заголовок. Однако внутри моего зонтичного заголовка, когда я пытаюсь выполнить сборку, я получаю сообщение: файл openssl/ec.h не найден.
Я добавил OpenSSL в оба модуля.
Соответствующие фрагменты кода из моей платформы:
modulemap:

Код: Выделить всё

framework module iOS_Reader_Library {
umbrella header "../iOS_Reader_Library.h"

export *
module * { export * }

}
iOS_Reader_Library.h:

Код: Выделить всё

#ifndef iOS_Reader_Library_h
#define iOS_Reader_Library_h

#include 
#include 
#include 

// List of functions here

/**
* Generates an EC key pair using the P-256 curve
* @param error Pointer to error message string, NULL if no error
* @return EC_KEY pointer on success, NULL on failure
*/
EC_KEY *generate_ec_key_pair(char **error);

#endif /* iOS_Reader_Library_h */
А вот эквивалент из моего рабочего приложения для iOS:
iOS-Bridging-Header.h< /em>

Код: Выделить всё

#import 
#import 
#import 
#import 
#import 
#import 
#import 
#include 

EC_KEY *generate_ec_key_pair(char **error);
unsigned char *get_compressed_public_key(EC_KEY *key, size_t *len, char **error);
Если кто-нибудь знает, что еще мне нужно сделать, чтобы это работало в моей структуре, дайте мне знать + я буду рад предоставить дополнительный контекст, если это необходимо.
Спасибо!!!

Подробнее здесь: https://stackoverflow.com/questions/792 ... -framework
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «IOS»