2017-02-04 2 views
0

У меня есть эти код для печати QRCode на Tools.m:Неопределенные символы CIFilter даже если я включил 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. Я использую Obj C без ARC в этом проекте.

ответ

Смежные вопросы