NDEF is disallowed when submitting from Expo to Ios App Store
I have a valid app.json yet still get this message: Expo 53. Latest react native nfc manager.
Googling solutions suggest that the above should work when running:
eas submit --platform ios
Error uploading ipa file: [logs] [Application Loader Error Output]: [ContentDelivery.Uploader.600003D88140] Validation failed (409) Invalid entitlement for core nfc framework. The sdk version '18.5' and min OS version '18.5' are not compatible for the entitlement 'com.apple.developer.nfc.readersession.formats' because 'NDEF is disallowed'. (ID: 8d89e417-34dd-4edb-b6e7-5e648f4a985d)
{ "expo": { "name": "aaaa", "slug": "aaaaa", "version": "2.13.0", "orientation": "portrait", "icon": "./assets/images/clipboard.png", "userInterfaceStyle": "light", "newArchEnabled": true, "scheme": "AAAAAAA", "splash": { "image": "./assets/images/splash.png", "resizeMode": "contain", "backgroundColor": "#ffffff" }, "assetBundlePatterns": [ "**/*" ], "ios": { "runtimeVersion": "2.13.0", "buildNumber": "2.13.0", "supportsTablet": true, "icon": "./assets/images/clipboard.png", "bundleIdentifier": "zzzzz", "infoPlist": { "NFCReaderUsageDescription": "Since you are trying to read NFC tags, please allow $(PRODUCT_NAME) to read NFCs." }, "entitlements": { "com.apple.developer.nfc.readersession.formats": [ "TAG" ] } }, "extra": { "eas": { "projectId": "aaaaaaa" } }, "plugins": [ [ "react-native-nfc-manager", { "nfcPermission": "Since you are trying to read NFC tags, please allow $(PRODUCT_NAME) to read NFCs.", "includeNdefEntitlement": false } ], "expo-web-browser", "expo-localization", "react-native-nfc-manager", [ "expo-build-properties", { "ios": { "deploymentTarget": "18.5" } } ] ], "updates": { "url": "aaaaaa" "checkAutomatically": "NEVER" }, "owner": "xxxxxx" } }
Your expo docs talk about rebuilding yet that link does not mention how to rebuild. Please explain.
Thank you.
Hey mate, I got my app approved last week. My only difference with your app.json is that I have set selectIdentifiers and systemCodes: [ "react-native-nfc-manager", { "nfcPermission": "Allow app to interact with NFC devices", "selectIdentifiers": ["A0000002471001"], "systemCodes": ["8008"], "includeNdefEntitlement": false } ],
And I also don't the following: "infoPlist": { "NFCReaderUsageDescription": "Since you are trying to read NFC tags, please allow $(PRODUCT_NAME) to read NFCs." }, "entitlements": { "com.apple.developer.nfc.readersession.formats": [ "TAG" ]
Which I believe is fine as it is generated automatically during the build.
What minimum OS version did you specify in your app?
how did you determine the codes? I just want to read using NDef
Have you actually got the entitlement for the app? If you go into Xcode under signing and capabilities do you have near field communication tag reading and NFC Scan added?