2017-02-04 1 views
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を使用しています。

答えて