Ios 无法执行支持代码来读取进程中的Objective-C类数据。在真正的iPhone设备上
当这个基于objective-c的方法在模拟器中调用时,这并不重要。 但在真正的iPhone设备中,它发生在线程1:信号SIGABRT中Ios 无法执行支持代码来读取进程中的Objective-C类数据。在真正的iPhone设备上,ios,iphone,Ios,Iphone,当这个基于objective-c的方法在模拟器中调用时,这并不重要。 但在真正的iPhone设备中,它发生在线程1:信号SIGABRT中 警告:无法执行支持代码来读取进程中的Objective-C类数据。这可能会降低可用类型信息的质量。 这是代码 + (NSData *)aesDecrypt:(NSURL *)url :(NSString *)key { NSData *data = [NSData dataWithContentsOfURL: url]; if (data == nil) {
警告:无法执行支持代码来读取进程中的Objective-C类数据。这可能会降低可用类型信息的质量。
这是代码
+ (NSData *)aesDecrypt:(NSURL *)url :(NSString *)key {
NSData *data = [NSData dataWithContentsOfURL: url];
if (data == nil) {
NSLog(@"file not found");
return nil;
}
char keyPtr[kCCKeySizeAES128];
bzero(keyPtr, sizeof(keyPtr));
[key getCString:keyPtr maxLength:sizeof(keyPtr)];
size_t bufferSize = [data length] + kCCBlockSizeAES128;
size_t decryptedBytesSize = 0;
void *buffer = malloc(bufferSize);
CCCryptorStatus result = CCCrypt(kCCDecrypt, kCCAlgorithmAES128, kCCOptionPKCS7Padding, keyPtr, kCCKeySizeAES128, keyPtr, [data bytes],
[data length], buffer, bufferSize, &decryptedBytesSize);
NSData *decrypted = [NSData dataWithBytes:buffer length:bufferSize];
NSError *error;
if (kCCSuccess != result) {
NSLog(@"aes decrypt error");
return nil;
}
return decrypted;
}
我尝试了几种类型来修复代码
- 返回其他类型
- 将NSData保存到文件中,不返回任何内容。用swift阅读
可能存在与目标C代码的链接问题 请尝试以下操作之一:
- 转到您的项目
- 将-ObjC添加到您的其他链接器标志中
- 启用模块(C和ObjC)=是
private var boundaries = [CLLocationCoordinate2D]()
我修改了声明,将边界显式声明为CLLocationCoordinate2D数组,如下所示:
private var boundaries:[CLLocationCoordinate2D] = [CLLocationCoordinate2D]()
该声明消除了错误消息
在您的例子中,您使用了一个旧的c方法,malloc作为缓冲区,而不是让swift管理您的内存,所以这可能就是问题所在。或者,如果您显式声明将解密为处理问题的数组。在任何情况下,您最好设置一个异常断点。 你可以得到一份关于坠机的日志
这只是一个愚蠢的错误,但我将一个navigationController指定为另一个UINavigationController的rootViewController。@Bhatt I check
其他链接器标志有-ObjC
,启用模块(C和ObjC)
是。它已经完成了。问题仍然没有解决您是否也尝试了-all_加载标志,作为其他链接器标志的一部分?也要考虑设置其他链接标志:像$:(Objo LDFLAGS)-Objc- AlLu.load@Bhatt,我附加了其他链接器标志截图。我认为,cocoapods
generate-itadding`-ObjC`到其他链接器标志确实有帮助,添加-ObjC
到其他链接器标志解决了这一问题!救了我一天。只是在每个变量中声明类型。虽然这通常是个好主意,但异常断点并不能解决这个问题。