问题
I am trying to upload my app to TestFlight, which using CoreNFC (NDEF).
Unfortunately, I got the error message on Testflight Validate part in (SDK version 13 and 13.1).
I already tried this: Xcode 11 beta can't upload app to TestFlight
but it will Lose NDEF function this: https://stackoverflow.com/a/58128365/5588637
Error messages: Invalid entitlement for core nfc framework The sdk version 13.0 and min OS version 13.0 are not compatible for the entitlement 'com. Apple developer nfc. Readersession formats because NDEF is disallowed
回答1:
The following worked for me.
- Go to your application entitlement file (Which will be mostly .entitlement if you don´t have any environmental setup or changes done to entitlement file name)
Remove all entitlement for NFC other than "NFC tag-specific data protocol"
Finally your entitlement file should have something like this
<key>com.apple.developer.nfc.readersession.formats</key>
<array>
<string>TAG</string>
</array>
- Clean your project and then try uploading to app store again.
Hope it helps :)
回答2:
I have solved the for iOS 13 TAG entitlment and NDEF is disallowed by:
- Remove remove "NFC Data Exchange Format" row from the Entitlement.
- Add to the info.plist "ISO7816 application identifiers for NFC Tag Reader Session" and the value for item 0 is should be "com.apple.developer.nfc.readersession.iso7816.select-identifiers"
Attached are a few pictures.
回答3:
my two cents about.
1) workaround of Josean works
2) my app fails the first time, I can confirm this weird behaviour as CH Wing wrote
3) some hints in "https://forums.developer.apple.com/thread/117329"
4) I added these keys to plist and seems working, not to entitlements. (but at apple dev forum seems it's the way... in PLIST..)
来源:https://stackoverflow.com/questions/58131299/xcode-testflight-validate-error-itms-90778-ndef-is-disallowed