在 iPhone 上使用 Phonegap 条码扫描器
Posted
技术标签:
【中文标题】在 iPhone 上使用 Phonegap 条码扫描器【英文标题】:Using Phonegap Barcode Scanner on Iphone 【发布时间】:2012-01-14 15:07:42 【问题描述】:我正在尝试将barcode scanner 添加到适用于 ios 的 JQM phonegap 项目中。我已按照列出的说明进行操作,但我不能 100% 确定我是否正确执行了第一步和最后一步。
将 .h、.cpp 和 .mm 文件复制到您的插件目录中 项目。您可能需要设置编译选项 zxing-all-in-one.cc 关闭优化。
我直接将这三个文件复制到了xcode的plugins文件夹中。它没有给我任何错误,但它也不起作用。我不知道如何在 xcode 中做编译器选项,所以我没有完成最后一步。
目前,我的应用程序仍然可以正常运行,并且运行扫描功能会打开相机,并打开用于条形码扫描仪的 ui。问题是它似乎既不是在寻找也不是在寻找条形码,它只是保持不变并且什么都不做(直到你点击取消,然后它才能正确显示取消的消息)。
任何人有什么想法或者我应该去哪里看看?
【问题讨论】:
你能帮我解决这个问题吗,我正在努力让它工作,目前我遇到了一个错误。 “成功回调中的错误:networkstatus0= typeerror: 'null' is not an object”。 Err,虽然这与我的问题没有任何关系,但无论如何我都会尽力提供帮助......该错误通常来自您拥有一个为空的对象(获取返回参数从回调为 null 但随后尝试使用 parameter.WasSuccessful() 或其他东西)。我会尝试打印出您正在使用的任何对象,并查看是否有任何不应该为空的对象。如果这不起作用,我会发布一个问题,而不是在一个不相关的 5 个月大的已解决问题中发表评论。 感谢提醒,一位版主取消了我的帐户,所以我无法发布问题,无论如何谢谢 【参考方案1】:如果相机已打开并且屏幕上出现用于扫描的 UI,则表示您已正确完成所有操作。问题似乎是扫描仪没有检测到条形码。
请注意,使用 zxing 识别一维条码(“经典”条码)需要配备自动对焦镜头的 iPhone(iPhone 4 或 iPhone 4S)。用手机镜头检测一维条码有点棘手,需要适当的光线和焦点;这就是为什么发明二维码(如 QR 码)的原因之一。
尝试使用http://zxing.appspot.com/generator/ 生成二维码,将其显示在屏幕上,然后尝试使用您的应用程序进行扫描。如果它有效,那么好消息,一切正常,但坏消息是,您的手机不适合一维条码扫描。
【讨论】:
嗯,这可以解释它,因为我们现在正在使用 Ipod Touch 进行测试。我相信我们在尝试扫描某些东西时确实尝试了 QR 码,但我可以再试一次,看看是否有人使用较新的 iPhone 会自愿进行测试。如果是这个问题,我会告诉你的。 我们在另一位员工的 Iphone 4 上进行了尝试,它成功了。感谢您的帮助!【参考方案2】:对此行为的另一种解释是编译器标志。如BarcodeScanner wiki 所述,您可能需要设置 zxing-all-in-one.cc 的编译选项以关闭优化。
在XCode4中,点击你的项目,然后在Targets下选择你的目标,进入Build Phases->Compile Sources,选择zxing-all-in -one.cc 并在 Compiler flags 列中输入 -O0(这是破折号哦,废话)。
这为我解决了。
【讨论】:
以上是关于在 iPhone 上使用 Phonegap 条码扫描器的主要内容,如果未能解决你的问题,请参考以下文章
我需要一个条形码扫描仪将其包含在我的 phonegap 项目中