2016-05-02 13 views
0

私は単純なGPUImageViewを作成しています。ここに私のコードは次のとおりです。iOS - プログラムでGPUImageViewを作成できませんか?

GPUImageView *gpImageView = [[GPUImageView alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; 
    UIImage * image = [UIImage imageNamed:@"placeholder.png"]; 
    GPUImagePicture * inputImage = [[GPUImagePicture alloc] initWithImage:image]; 
    [inputImage processImage]; 
    [inputImage addTarget: gpImageView]; 
    [self.view addSubview:gpImageView]; 

このライン上の私のアプリがクラッシュ:

enter image description here

私はiPhone 6+、私のiOSのバージョンで実行しています8.3 Xcodeのバージョンは7.1

され、私はiOS 9.1でこのコードを実行することを忘れないでください。

UPDATE

私は、シミュレータのiOS 8.3 iPhone 6でこれをテストし、それが動作します。

答えて

1

のiOS 8.3のためには、あたりとして、以下のような何かを行うことができます。

float version = [[[UIDevice currentDevice] systemVersion] floatValue]; 
NSString* formattedVersion = [NSString stringWithFormat:@"%.01f", version]; 
if ([formattedVersion isEqualToString:@"8.3"]) { 
    return NO; // https://github.com/BradLarson/GPUImage/issues/2041 
} else { 
    return (CVOpenGLESTextureCacheCreate != NULL); 
} 

が、それは:)

を助けることを願っています。このような何かを

方法 + (BOOL)supportsFastTextureUpload

https://github.com/BradLarson/GPUImage/issues/2041

GPUImageContext.m

+1

上記で指摘したように、iOS 8.3(およびiOS 8.3のみ)では、テクスチャキャッシュを使用できなくするバグがありました。私はおそらくこれのためのチェックを構築する必要がありますが、私は忘れています。 –

関連する問題