Использование необъявленного типа «PKCS7» (Receipt-Validation/OpenSSL)

Чтобы настроить проверку квитанций в моем приложении для iOS, я теперь следую этому руководству: https://www.raywenderlich.com/9257-in-app-purchases-receipt-validation-tutorial и прочтите здесь: Загрузка квитанции.

Читая и пытаясь понять, что происходит, я также пытаюсь интегрировать код в свое собственное приложение, тем самым получая практическое понимание процесса.

Вот одна проблема, с которой я сталкиваюсь в данный момент:

В этой строке кода:

private func loadReceipt() -> UnsafeMutablePointer<PKCS7>? {

Я получаю это сообщение об ошибке:

Use of undeclared type 'PKCS7'

После поиска в сети и нескольких попыток я предполагаю, что это связано с использованием файла ReceiptVerifier-Bridging-Header.h. Но я не уверен, как установить его в проекте.

Я буду рад, если у кого-нибудь есть совет, позволяющий мне двигаться вперед. Заранее спасибо!

В случае, если это может быть полезно, вот значимое содержимое файла заголовка моста (ReceiptVerifier-Bridging-Header.h):

#import <openssl/pkcs7.h>
#import <openssl/objects.h>
#import <openssl/evp.h>
#import <openssl/ssl.h>
#import <openssl/asn1_locl.h>

person Michel    schedule 30.03.2019    source источник
comment
PKCS7 определяется в библиотеке OpenSSL (которая должна быть включена в пример проекта с этого сайта). Вы, вероятно, должны #include <openssl/pkcs7.h> в файле заголовка моста.   -  person Martin R    schedule 30.03.2019
comment
Спасибо, я обновил свой пост, и, как видите, у меня уже есть связующий заголовок, содержащий упомянутый вами файл. Но я думаю, что он не настроен так, как должен. Это, вероятно, объясняет, почему у меня возникла эта проблема.   -  person Michel    schedule 31.03.2019


Ответы (1)


Проблема в том, что я просто скопировал файл заголовка моста, не выполнив правильную настройку, как описано здесь: https://developer.apple.com/documentation/swift/imported_c_and_objective-c_apis/importing_objective-c_into_swift

person Michel    schedule 31.03.2019