iOS 15 SDK - `memcpy()` 未导出
iOS 15 SDK - `memcpy()` not exported
我一直在一些 Dart/Flutter 代码中使用 memcpy
(通过 FFI),但是使用最新的 Xcode + iOS 15 模拟器,它不再可用(Failed to lookup symbol (dlsym(RTLD_DEFAULT, memcpy): symbol not found
)。任何人都知道为什么他们在运行时隐藏了符号?更重要的是,是否有办法取回它?也许是 podspec 中 link 的一些库?
有问题的代码是
typedef _dart_memcpy = void Function(Pointer<Uint8>, Pointer<Uint8>, int);
typedef _c_memcpy = Void Function(Pointer<Uint8>, Pointer<Uint8>, IntPtr);
late final memcpy = DynamicLibrary.process().lookupFunction<_c_memcpy, _dart_memcpy>('memcpy');
看起来像是 Flutter v2.5.1(当前稳定版)中的问题,当前测试版频道中没有。
https://github.com/flutter/flutter/issues/90896#issuecomment-930052186
我一直在一些 Dart/Flutter 代码中使用 memcpy
(通过 FFI),但是使用最新的 Xcode + iOS 15 模拟器,它不再可用(Failed to lookup symbol (dlsym(RTLD_DEFAULT, memcpy): symbol not found
)。任何人都知道为什么他们在运行时隐藏了符号?更重要的是,是否有办法取回它?也许是 podspec 中 link 的一些库?
有问题的代码是
typedef _dart_memcpy = void Function(Pointer<Uint8>, Pointer<Uint8>, int);
typedef _c_memcpy = Void Function(Pointer<Uint8>, Pointer<Uint8>, IntPtr);
late final memcpy = DynamicLibrary.process().lookupFunction<_c_memcpy, _dart_memcpy>('memcpy');
看起来像是 Flutter v2.5.1(当前稳定版)中的问题,当前测试版频道中没有。
https://github.com/flutter/flutter/issues/90896#issuecomment-930052186