作者:
ervis (Ervis)
2026-02-09 09:53:03## 前言
最近在做一個日/韓旅遊記帳 App「旅收」,
收到用戶許願說想用 NFC 感應西瓜卡直接記帳,不用手打金額。
覺得這個方向很有趣就開始研究。
查了一輪資料,網路上幾乎都寫 Suica 的 FeliCa system code 是 88B4,
結果實測完全不是那回事,踩了不少坑,紀錄一下。
環境:iPhone 16 Pro / iOS 26 / Xcode 26.1.1 / CoreNFC
## 踩坑紀錄
### 坑 1:FFFF 萬用碼直接被 Apple 拒絕
FeliCa 有個萬用 system code FFFF,理論上可以偵測所有卡片。
放進 Info.plist → Apple 直接噴 "Invalid system code entry: FFFF"。
所以必須列舉具體的 system codes。
### 坑 2:88B4 超時,拖垮整個 NFC 連線
照網路資料把 88B4 排第一,結果 nfcd daemon 嘗試查詢時直接超時:
```
nfcd: _getIDMFromTag:systemCode:
nfcd: phNciNfc_RspTimeOutCb: Timer expired!
nfcd: Target Lost!!
```
重點是,這個超時不只是「查詢失敗」,它會弱化整個 RF 連線。
後面即使換別的 system code 成功連上,App 也只能送 1-2 個指令就斷線。
### 坑 3:實測 3 張 Suica,全部沒有 88B4
用 requestSystemCode() 查詢卡片支援的系統碼:
```
3 張不同年份的實體 Suica → ["0003", "FE00", "86A7"]
```
沒有一張有 88B4。
目前不確定是所有實體卡都這樣,還是跟卡片世代有關。
手邊沒有 PASMO 可以交叉驗證。
如果有板友手上有不同卡片,很好奇 requestSystemCode 會回什麼。
### 坑 4:服務藏在 system 0003
既然沒有 88B4,那餘額 (0x008B) 跟交易歷史 (0x090F) 在哪?
用 requestService 逐一探測:
```
System 0003:
0x008B (餘額): 存在
0x090F (歷史): 存在
System 86A7:
全部 FFFF(無可用服務)
System FE00:
Common Area,沒有交通相關服務
```
所以交通卡服務的 service codes 跟網路資料一樣(0x008B / 0x090F),
但掛載的 system 不是 88B4 而是 0003。
### 坑 5:Info.plist 順序決定連線穩定性
nfcd 會按照 Info.plist 的順序逐一嘗試 system code。
排錯順序 → 前面的超時 → 連線不穩 → App 讀不到資料。
最終順序:
```xml
<array>
<string>0003</string> <!
作者:
ervis (Ervis)
2026-02-09 10:51:00很有潛力的作法,可惜我現在都用apple wallet的suica了
作者: awdrgyjilp22 (Limit) 2026-02-09 11:22:00
用心給推 雖然看不懂
作者:
a100820 (~小毓~)
2026-02-09 11:24:00太神 這真的是免費能用的嗎
作者: lovebbqjim 2026-02-09 11:40:00
很棒!不知道你有沒有考慮將這些筆記發表在Medium或ITHome,應該能讓更多開發者看到
作者:
as209099 (Show小龍)
2026-02-09 12:20:00推,感覺也可以發到GitHub
作者:
kpg0427 (長的不高又不帥)
2026-02-09 12:47:00看不懂,但推w
作者:
ervis (Ervis)
2026-02-09 15:00:00感謝 lovebbqjim 建議,我有發表在 iThome, 歡迎來按讚 ^^回 a100820: 免費無誤 (app 內有純贊助支持, 但不影響使用)
作者:
ankai (源櫻我婆)
2026-02-09 15:23:00先跪了 太神
作者:
lmw (lmw)
2026-02-09 15:51:00太神了!可惜現在都是用錢包中的西瓜
作者:
ervis (Ervis)
2026-02-09 16:06:00沒錯,希望 Apple 能夠開放 API 讀取,資料就豐富多了
作者:
ginlom (牛牛)
2026-02-09 16:48:00推小結:實測才是真的
作者: cutejojocat (貓貓) 2026-02-10 01:19:00
推一個持續更新新功能
作者: y05192c (育宏) 2026-02-10 03:50:00
實用就給推 介紹給剛好最近要去日本玩的朋友
作者:
Syu (海へ)
2026-02-10 05:22:00認真開發給推
作者:
hymo (我沒有鬍子也沒有3310)
2026-02-10 12:07:00推
作者: Ethierz (ethierz980109) 2026-02-10 13:15:00
推
作者:
ervis (Ervis)
2026-02-10 23:43:00感謝 sinclaireche 提供資訊,非常完整超棒
作者: sam749 (shinco0327) 2026-02-11 02:04:00
推