CIContext()
、CIContext(options:)
などが実行時にクラッシュします。
エラー
-[CIContext initWithOptions:]: unrecognized selector sent to instance 0xhogehoge
すでにバグレポートされているようです。
https://openradar.appspot.com/28200846
回避方法
stackoverflow([CIContext initWithOptions:]: unrecognized selector sent to instance 0x170400960 in xcode8)に書かれている方法だとうまく動かなかった(やり方がまずい?)ので、こんないい加減なクラスを用意して、ブリッジさせ、
ObjcUtility.h
#import <UIKit/UIKit.h>
@interface ObjcUtility : NSObject
+ (CIContext *)cicontextWithOptions:(NSDictionary<NSString *, id> *)options;
@end
ObjcUtility.m
#import "ObjcUtility.h"
@implementation ObjcUtility
+ (CIContext *)cicontextWithOptions:(NSDictionary<NSString *, id> *)options {
return [CIContext contextWithOptions:options];
}
@end
Swift側でObjcUtility.cicontext(options:)
を呼び出すことでイニシャライズの代理としてみました。
急いで書いたので間違いがあったらすみません。