0
が含まれているにもかかわらず、CIFilterのシンボル私はTools.m
上のQRコードを印刷するために、これらのコードを持っている:未定義私はCoreImage.h
#import <CoreImage/CoreImage.h>
...
+ (UIImage *)renderQRCodeFrom:(NSString *)source withImageViewFrameSize:(CGSize)imageViewFrameSize {
NSString *qrString = source;
NSData *stringData = [qrString dataUsingEncoding: NSUTF8StringEncoding];
CIFilter *qrFilter = [CIFilter filterWithName:@"CIQRCodeGenerator"];
[qrFilter setValue:stringData forKey:@"inputMessage"];
[qrFilter setValue:@"H" forKey:@"inputCorrectionLevel"];
CIImage *qrImage = qrFilter.outputImage;
float scaleX = imageViewFrameSize.width/qrImage.extent.size.width;
float scaleY = imageViewFrameSize.height/qrImage.extent.size.height;
qrImage = [qrImage imageByApplyingTransform:CGAffineTransformMakeScale(scaleX, scaleY)];
return [UIImage imageWithCIImage:qrImage scale:[UIScreen mainScreen].scale orientation:UIImageOrientationUp];
}
しかし、私はそれをコンパイルするとき、それはエラーを示しています
Undefined symbols for architecture arm64:
"_OBJC_CLASS_$_CIFilter", referenced from:
objc-class-ref in Tools.o
ld: symbol(s) not found for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
なぜこのエラーは起こりますか?私はCoreImage.h
を適切に含みました。私が知る限り、ウェブ上でこのような似たようなエラーは見つかりません。つまり、このエラーは珍しいことです。私はCMD + CIFilterをクリックすることができます、それはCoreImage/CIFilter.h
につながる。
NS_CLASS_AVAILABLE(10_4, 5_0)
@interface CIFilter : NSObject <NSSecureCoding, NSCopying>
{
void *_priv[8];
}
...
私のプロジェクト展開ターゲットはiOS 8.0に設定されています。私はこのプロジェクトでARCなしでObj Cを使用しています。