商品がスキャンできない!ちょっとおバカな Vision フレームワーク by Yu Takahashi

iOSDC Japan 2025
ルーキーズLT(5分)

商品がスキャンできない!ちょっとおバカな Vision フレームワーク

yutk_941 Yu Takahashi yutk_941
6

私たちが日常でよく目にするバーコード。その裏には、見た目ではわからない微妙な規格の違いが潜んでいることをご存知ですか?

本 LT では、 STORES レジアプリの開発中に直面した「Vision フレームワークが 12 桁のバーコードを 13 桁として認識してしまう」という現象をきっかけに掘り下げた、バーコードの規格と Vision フレームワークの仕様について紹介します!

この現象により、 12 桁のバーコードで登録されている商品をスキャンしても、ヒットしないという問題が発生しました。
Apple の公式ドキュメントでは明示されていない現象で、「なんでや!」と言いたいところですが、バーコードの規格をよく見ると、Vision フレームワークはその規格の性質を利用して、認識していたことがわかりました。
(Google の API はちゃんと認識できるんだけどな…)

本 LT では、以下の内容について話します。

  • UPC-A (12 桁) と EAN-13 (13 桁) バーコードの仕様
  • Vision フレームワークの認識ロジック
  • 正確なバーコードかどうかを判定するロジック
  • 回避方法と実装テクニック

1 桁の違いがオペレーションを止めてしまう、現実世界とアプリを繋ぐアプリならではの知見を共有します!
皆さんもバーコードマスターになりましょう!