diff --git a/app.json b/app.json index 30c5f79..74b578c 100644 --- a/app.json +++ b/app.json @@ -41,12 +41,22 @@ "bundleIdentifier": "jrshikokuinfo.xprocess.hrkn", "config": { "googleMapsApiKey": "AIzaSyAVGDTjBkR_0wkQiNkoo5WDLhqXCjrjk8Y" + }, + "infoPlist": { + "NFCReaderUsageDescription": "To read FeliCa card", + "com.apple.developer.nfc.readersession.felica.systemcodes": [ + "0003", + "FE00" + ] + }, + "entitlements": { + "com.apple.developer.nfc.readersession.formats": ["TAG"] } }, "android": { "package": "jrshikokuinfo.xprocess.hrkn", "versionCode": 20, - "permissions": ["ACCESS_FINE_LOCATION"], + "permissions": ["ACCESS_FINE_LOCATION", "NFC"], "googleServicesFile": "./google-services.json", "config": { "googleMaps": { diff --git a/components/settings.js b/components/settings.js index e9f3c5d..dabad32 100644 --- a/components/settings.js +++ b/components/settings.js @@ -1,5 +1,6 @@ import React, { useState, useEffect } from "react"; import { View, Text, TouchableOpacity, Linking } from "react-native"; +import * as ExpoFelicaReader from "expo-felica-reader"; import * as Updates from "expo-updates"; import StatusbarDetect from "../StatusbarDetect"; import { AS } from "../storageControl"; @@ -16,6 +17,10 @@ export default function Setting(props) { const [usePDFView, setUsePDFView] = useState(false); const [trainMenu, setTrainMenu] = useState(false); const [trainPosition, setTrainPosition] = useState(false); + const testNFC = async () => { + const resulit = await ExpoFelicaReader.scan(); + alert(resulit); + }; useEffect(() => { AS.getItem("iconSwitch").then(setIconSetting); AS.getItem("mapSwitch").then(setMapSwitch); @@ -169,7 +174,10 @@ export default function Setting(props) { - + testNFC()} + > - + diff --git a/package.json b/package.json index a581036..9b530e0 100644 --- a/package.json +++ b/package.json @@ -16,7 +16,9 @@ "dayjs": "^1.11.9", "eas-cli": "^5.9.1", "expo": "^49.0.21", + "expo-dev-client": "~2.4.13", "expo-device": "~5.4.0", + "expo-felica-reader": "^0.1.0", "expo-font": "~11.4.0", "expo-location": "~16.1.0", "expo-notifications": "~0.20.1", diff --git a/yarn.lock b/yarn.lock index a62d5b4..2f6f9b0 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4803,6 +4803,47 @@ expo-constants@~14.4.2: "@expo/config" "~8.1.0" uuid "^3.3.2" +expo-dev-client@~2.4.13: + version "2.4.13" + resolved "https://registry.yarnpkg.com/expo-dev-client/-/expo-dev-client-2.4.13.tgz#cf8c829e2f815b273db44c17e513d5410af5b7fa" + integrity sha512-EBNJlPntw+DZy7mKxYvpdrmE2GU4YjcEpxSLpwNn2GDwy7e2xXAC2k/25E13BGy3yKPLo1iBXNgB01uleIDdVg== + dependencies: + expo-dev-launcher "2.4.15" + expo-dev-menu "3.2.4" + expo-dev-menu-interface "1.3.0" + expo-manifests "~0.7.0" + expo-updates-interface "~0.10.0" + +expo-dev-launcher@2.4.15: + version "2.4.15" + resolved "https://registry.yarnpkg.com/expo-dev-launcher/-/expo-dev-launcher-2.4.15.tgz#298ac56b523f77c40523453224f75dcc894198bc" + integrity sha512-6oF4NsxlKwuafnyIZvVtMp4OTxRu4Arsw6qJ9s4jDjZuGJtGwgEj9ux3R0YLkDPs8xhsK9Awp0q17RqbQzs1qg== + dependencies: + expo-dev-menu "3.2.3" + resolve-from "^5.0.0" + semver "^7.5.3" + +expo-dev-menu-interface@1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/expo-dev-menu-interface/-/expo-dev-menu-interface-1.3.0.tgz#51b6be8c6e0ce73e414ac7a545998dfad0dfdb80" + integrity sha512-WtRP7trQ2lizJJTTFXUSGGn1deIeHaYej0sUynvu/uC69VrSP4EeSnYOxbmEO29kuT/MsQBMGu0P/AkMQOqCOg== + +expo-dev-menu@3.2.3: + version "3.2.3" + resolved "https://registry.yarnpkg.com/expo-dev-menu/-/expo-dev-menu-3.2.3.tgz#31c102251d94e9a35fac667cefdbaeae7b1e1375" + integrity sha512-DneF3okTC4AAfAZgaOIylQ/UngSO8SnUT6bRV6nHhJU/jQS1OIP1cZoNW23I100+2yj6x6mobL21PxyiI5VA8g== + dependencies: + expo-dev-menu-interface "1.3.0" + semver "^7.5.3" + +expo-dev-menu@3.2.4: + version "3.2.4" + resolved "https://registry.yarnpkg.com/expo-dev-menu/-/expo-dev-menu-3.2.4.tgz#25ba1efe70bf74ab2d7804eab54212785cd2a01a" + integrity sha512-jPvEY4xGTsiVL6A8M6xThNG+tgCHKlDaWqmWHT+wy2EXgFf/7zE0daVYoFms0KJ1XtZc+/DmDRgIPTR86qIGTg== + dependencies: + expo-dev-menu-interface "1.3.0" + semver "^7.5.3" + expo-device@~5.4.0: version "5.4.0" resolved "https://registry.yarnpkg.com/expo-device/-/expo-device-5.4.0.tgz#4dc4db4b2265d1f5c9d7c2be6548c375882be437" @@ -4815,6 +4856,11 @@ expo-eas-client@~0.6.0: resolved "https://registry.yarnpkg.com/expo-eas-client/-/expo-eas-client-0.6.0.tgz#b722dde0de1b8b56701b282a5fdf28d3d3e79ec4" integrity sha512-FSPy0ThcJBvzEzOZVhpOrYyHgQ8U1jJ4v7u7tr1x0KOVRqyf25APEQZFxxRPn3zAYW0tQ+uDTCbrwNymFqhQfw== +expo-felica-reader@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/expo-felica-reader/-/expo-felica-reader-0.1.0.tgz#968a9bb93d1f040f8e8dfbc899fba0214327c8b0" + integrity sha512-uDv5/eeaCpMOJ3R3supaE2m7VJZGaDE6C3AdWf3Y1pgVzteI3GUah5+doFpadf6CSjytznix5U1pTLbeSHeuUw== + expo-file-system@~15.4.0: version "15.4.2" resolved "https://registry.yarnpkg.com/expo-file-system/-/expo-file-system-15.4.2.tgz#f18e9d84f06a50eb4084b4a34ca7ca9c5a42f92e"