Вот моя настройка: < /p>
cryptobridgingheader.h (мостовой заголовок моего проекта) < /p>
Сгенерированный объект. < /p>
Код: Выделить всё
#import "SecretLogicWrapper.h"secretlogicwrapper.h (публичный интерфейс для Swift)
сгенерированный Objectivec
Код: Выделить всё
#import
NS_ASSUME_NONNULL_BEGIN
@interface SecretLogicWrapper : NSObject
- (NSData * _Nullable)encryptWithAesGcm:(NSData *)plaintext key:(NSData *)key;
@end
NS_ASSUME_NONNULL_END
< /code>
[b]SecretLogicWrapper.mmobjectivec
#import "SecretLogicWrapper.h"
// All required headers are included.
#import
#import
#import
@implementation SecretLogicWrapper
- (NSData *)encryptWithAesGcm:(NSData *)plaintext key:(NSData *)key {
// A minimal example to demonstrate the GCM call.
// Generate a secure random 12-byte nonce (IV)
NSMutableData* iv = [NSMutableData dataWithLength:12];
if (CCRandomGenerateBytes(iv.mutableBytes, iv.length) != kCCSuccess) {
NSLog(@"[Wrapper Error] Failed to generate random IV for GCM.");
return nil;
}
// Prepare buffers
NSMutableData* ciphertext = [NSMutableData dataWithLength:plaintext.length];
size_t ciphertext_bytes_written = 0;
CCCryptorRef cryptor = NULL;
// THE ERROR OCCURS ON THE LINE BELOW for `kCCModeGCM`
CCCryptorStatus status = CCCryptorCreateWithMode(kCCEncrypt,
kCCModeGCM, //
Ошибки, которые я получаю,: < /p>
[*] Использование идентификатора неверного /> < /li>
Использование неэклярированного идентификатора 'kccautherror' (в последующем коде) < /p>
< /li>
< /ul>
Это, кажется, указывает на то, что компилятор не использует правильные заголовки IOS 16 SDK при составлении этого. Это похоже на проблему конфигурации проекта, но я проверил все стандартные настройки. 16.0.
[*] Я явно добавил #include .
Я явно связываю безопасность. /> Тип файла для файла .mm правильно устанавливается для «Objective-C ++ Source» в инспекторе файла. < /p>
< /li>
< /ul>
, и это не сработало. Как я могу решить эту проблему?
Подробнее здесь: https://stackoverflow.com/questions/797 ... and-framew
Мобильная версия