我正在开发一个应用程序,我需要从 nfc 芯片读取护照数据,但我找不到一些软件包或有关解决方案的信息。我知道 nfc_manager 和 flutter_nfc_kit 但它们都不允许读取护照数据。我也知道这些信息不能以简单的方式读取,因为它有一些安全内容。
有人知道如何解决我的问题吗?
您可以使用ZeroPass / DMRTD
他们正在导入 dg2 图像支持,你可以检查它的开发分支
这是示例应用程序可以读取护照或身份证,在您的应用程序实现后,您需要设置另一个东西才能使其工作
1:在你的 PodFile 底部像这样设置相机,
post_install do |installer|
installer.pods_project.targets.each do |target|
flutter_additional_ios_build_settings(target)
target.build_configurations.each do |config|
config.build_settings['GCC_PREPROCESSOR_DEFINITIONS'] ||= [
'$(inherited)',
'PERMISSION_CAMERA=1',
]
end
end
end
2:您需要将 Runner.entitlements 文件添加到 Runner 中,它不是自己生成的,我必须从包的示例应用程序中获取它。
奖励:软件包 nfc 应用程序需要从卡中获取一些数据用于扫描卡芯片,默认情况下示例应用程序需要从文本编辑控制器和日期选择器获取数据,但如果您使用 flutter_mrz_scanner 并从相机获取该数据,然后稍后使用 nfc 扫描卡,那就更多了易于使用。
这可能有点晚了,但你可以看一下 Securepass,它是与使用 JMRTD 库的 Android 模块集成的 flutter 应用程序。