Kccmodegcm не выделил в файле Objective-C ++ .MM. Несмотря на то, что iOS 16 Target и Framework связываютIOS

Программируем под IOS
Ответить
Anonymous
 Kccmodegcm не выделил в файле Objective-C ++ .MM. Несмотря на то, что iOS 16 Target и Framework связывают

Сообщение Anonymous »

Я сталкиваюсь с проблемой сборки, в которой идентификаторы CommonCrypto для режима GCM (kccmodegcm, kccparamgcmtag, kccautherror) не найдены при составлении файла Objective-c ++ (.mm), даже если цель развертывания моего проекта устанавливается на IOS 16. Все константы GCM. < /p>
Вот моя настройка: < /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.mm
[/b] (реализация, где происходит ошибка)
objectivec
#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
Ответить

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

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

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

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

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