Files
Vorrania/ios/project.yml
T
ScarriffleandClaude Opus 5 140b81798c NFC: Entitlement TAG statt NDEF, Tag-Session statt NDEF-Session
Der Upload nach App Store Connect scheiterte an der Entitlement-Pruefung:
"NDEF is disallowed" und "TAG is missing in the entitlement". Apple hat den Wert
NDEF zugunsten von TAG abgeloest; mit dem SDK von iOS 26/27 wird er abgelehnt.

TAG ist der Wert fuer NFCTagReaderSession, deshalb laeuft der Lese- und
Schreibweg jetzt darueber statt ueber NFCNDEFReaderSession. Die NDEF-Befehle
bleiben dabei vollstaendig erhalten: alle vier Tag-Protokolle (MiFare, ISO7816,
ISO15693, FeliCa) erben laut SDK-Header von NFCNDEFTag, also gibt es weiterhin
queryNDEFStatus, readNDEF, writeNDEF und writeLock. Gepollt wird iso14443 (die
ueblichen NTAG-Aufkleber) und iso15693 (Waeschetags mancher Hersteller).

Die eigene Klasse hiess NFCTag und kollidierte damit mit dem gleichnamigen
CoreNFC-Protokoll, das der neue Weg braucht - sie heisst jetzt NFCDienst.

Info.plist enthaelt ausserdem die Neuformatierung durch Xcode (Schluessel
sortiert, Kommentare entfernt). Inhaltlich unveraendert.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-12 13:48:40 +02:00

72 lines
3.1 KiB
YAML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# XcodeGen-Spezifikation – erzeugt das Xcode-Projekt aus diesen Quellen.
# brew install xcodegen && cd ios && xcodegen generate && open Vorrania.xcodeproj
# Alternativ kann man in Xcode ein leeres App-Projekt anlegen und den Ordner
# "Sources" hineinziehen (siehe README.md).
name: Vorrania
options:
bundleIdPrefix: com.scarriffle
# Ohne das baut Xcode eine englische App: DatePicker und Monatsnamen
# erscheinen dann als "10. Dec 2027" statt "10. Dez. 2027".
developmentLanguage: de
deploymentTarget:
iOS: "16.0"
createIntermediateGroups: true
# Erste (und einzige) Fremdabhaengigkeit: AppAuth uebernimmt den
# OpenID-Connect-Anmeldevorgang. Selbst gebaut waere das ein Sicherheitsrisiko –
# PKCE, State-Pruefung und der Ablauf im System-Browser stecken hier drin.
packages:
AppAuth:
url: https://github.com/openid/AppAuth-iOS
from: 1.7.6
targets:
Vorrania:
type: application
platform: iOS
# Info.plist wird bewusst NICHT aus dieser Datei erzeugt, sondern unveraendert
# aus Sources/Info.plist uebernommen. Ein "info:"-Block hier wuerde die Datei
# bei jedem "xcodegen generate" ueberschreiben und dabei Schluessel verlieren,
# die nur dort stehen (z. B. NSAppTransportSecurity fuer das HTTP-Heimnetz).
sources:
- path: Sources
excludes:
- Info.plist
# App-Icon im Icon-Composer-Format (Xcode 26).
- path: AppIcon.icon
dependencies:
- package: AppAuth
product: AppAuth
settings:
base:
INFOPLIST_FILE: Sources/Info.plist
PRODUCT_BUNDLE_IDENTIFIER: com.scarriffle.vorrania
# Signing: automatisch verwaltet. Wer mit einem anderen Apple-Konto baut,
# traegt hier seine Team-ID ein (Xcode: Signing & Capabilities -> Team).
ASSETCATALOG_COMPILER_APPICON_NAME: AppIcon
CODE_SIGN_STYLE: Automatic
DEVELOPMENT_TEAM: PP34X97WS3
MARKETING_VERSION: "1.0"
TARGETED_DEVICE_FAMILY: "1,2"
SWIFT_VERSION: "5.9"
GENERATE_INFOPLIST_FILE: NO
# NFC: eingenaehte Tags an Einzelstuecken lesen und beschreiben – fuer
# Kleidung, wo ein aufgeklebter QR die Waesche nicht uebersteht.
# Dafuer muss im Apple-Developer-Portal die Capability "Near Field
# Communication Tag Reading" fuer die App-ID aktiv sein (einmalig), sonst
# schlaegt das Signieren fehl.
#
# Associated Domains stand hier bis 2026-09 noch drin, obwohl f981f41 die
# Universal Links entfernt hat: XcodeGen erzeugt Sources/Vorrania.entitlements
# aus diesem Block und schrieb den Eintrag bei jedem "generate" zurueck. Die
# Domain existiert laengst nicht mehr, jede Installation fragte sie vergeblich ab.
entitlements:
path: Sources/Vorrania.entitlements
properties:
# "TAG", nicht "NDEF": Die App-Store-Pruefung lehnt NDEF seit dem
# SDK von iOS 26/27 ab ("NDEF is disallowed") und verlangt TAG. Deshalb
# laeuft der Code ueber NFCTagReaderSession; die NDEF-Befehle gibt es
# dort weiterhin, weil alle Tag-Protokolle von NFCNDEFTag erben.
com.apple.developer.nfc.readersession.formats:
- TAG