Files
Vorrania/ios/project.yml
T
ScarriffleandClaude Opus 5 501d80a9b8 Lagerort- und Kategorieauswahl zeigen den Baum statt einer Mischung
Die Auswahl war nicht flach, weil die Beschriftung gefehlt haette - der volle
Pfad stand laengst drin. Sie kam vom Server nach dem BLATTnamen sortiert, und
so standen "Garage -> Fach A" und "Keller -> Fach A" irgendwo zwischen allem
anderen. Geschwister und Kinder fanden nie zusammen.

Neu ist baum() in Baum.swift: bringt eine flache Eltern-Kind-Liste in
Baumreihenfolge und rueckt je Ebene ein. Waisen gelten als oberste Ebene,
damit nichts lautlos aus der Auswahl faellt.

Derselbe Lauf lag bisher dreimal im Projekt (CategoryPicker, TreeMasterView,
LocationEditor). Alle drei zeigen jetzt auf den einen - unterm Strich
verschwinden mehr Zeilen als dazukommen. Zwei der Kopien waren auch nicht
gleichwertig: LocationEditor.pfad hatte den Zyklusschutz von path(in:) nicht
und waere bei einer ringfoermigen Elternkette endlos gelaufen.

Umgestellt sind neun Auswahlfelder. Die Lagerortzeile beim Kassenzettel zeigte
nur den nackten Namen und bekommt den vollen Pfad - dort ist kein Platz zum
Einruecken.

MARKETING_VERSION stand auf 1.2 in der project.pbxproj, aber auf 1.1 in der
project.yml, aus der sie erzeugt wird. Die Quelle nachgezogen, sonst haette
das naechste "xcodegen generate" die Anhebung zurueckgedreht.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-10-15 20:11:25 +02:00

79 lines
3.5 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
# Die einzige Stelle fuer die Versionsnummern. Die Info.plist zieht
# sie ueber $(MARKETING_VERSION)/$(CURRENT_PROJECT_VERSION) - frueher
# standen dort feste Werte, die jede Aenderung hier wirkungslos machten.
# MARKETING_VERSION ist die sichtbare Version (App Store),
# CURRENT_PROJECT_VERSION die Build-Nummer: muss bei jedem Upload
# innerhalb derselben Version steigen.
MARKETING_VERSION: "1.2"
CURRENT_PROJECT_VERSION: "2"
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