0
デバイスをiOS 11-beta6にアップグレードすると、ランタイムコードに問題があることが判明しました。私がobj後の最初の引数を取得するためのva_argを使用しようとするとimp_implementationWithBlockでva_listを使用すると、iOS 11でEXC_BAD_ACCESSを取得する
IMP swizzledImplementation = imp_implementationWithBlock(^BOOL(NSObject *obj, ...) {
va_list arguments;
va_start(arguments, obj);
id argument = va_arg(arguments, id);
va_end(arguments);
};
、そしてアプリはEXC_BAD_ACCESSに実行されます。コードはiOSシミュレータとiOS 10/9/8の一部のデバイスでは正常です(一部のiOS 10.2デバイスでもクラッシュします)。
va_listに変更がありますか?またはimp_implementationWithBlock?