leafittome/lib/main.dart
cschlaefke 7d9754282f App-Store-Vorbereitung: App Check, Release-Signing, Datenschutz, Doku
Ziel fürs Erste: TestFlight + Play-Internal-Testing (kein öffentlicher
Store-Eintrag). Code-seitig vorbereitet, alle Konsolen-Schritte für
Chris in firebase-einrichtung.md (Schritt 9-11) dokumentiert:

- App Check Client-Integration (Debug-Provider), Functions erzwingen
  es noch nicht (zweistufiger Rollout, siehe Doku)
- iOS: ITSAppUsesNonExemptEncryption gesetzt
- Android: Release-Signing über key.properties vorbereitet (Upload-Key
  fehlt noch bewusst, Erzeugung ist Chris' Schritt)
- flutter_launcher_icons vorbereitet für künftiges echtes App-Icon
- Datenschutzerklärung entworfen (docs/legal/datenschutz.html)

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-20 00:09:39 +02:00

30 lines
1.1 KiB
Dart

import 'package:firebase_app_check/firebase_app_check.dart';
import 'package:firebase_core/firebase_core.dart';
import 'package:flutter/material.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:shared_preferences/shared_preferences.dart';
import 'app.dart';
import 'core/settings/settings_provider.dart';
import 'firebase_options.dart';
Future<void> main() async {
WidgetsFlutterBinding.ensureInitialized();
await Firebase.initializeApp(
options: DefaultFirebaseOptions.currentPlatform,
);
// Debug-Provider, bis Play Integrity (Android) / App Attest (iOS) in der
// Firebase-Console registriert sind (docs/firebase-einrichtung.md Schritt 9).
// Die Functions erzwingen App Check noch nicht — reines Vorbereiten.
await FirebaseAppCheck.instance.activate(
providerAndroid: AndroidDebugProvider(),
providerApple: AppleDebugProvider(),
);
final prefs = await SharedPreferences.getInstance();
runApp(
ProviderScope(
overrides: [sharedPreferencesProvider.overrideWithValue(prefs)],
child: const LeafItToMeApp(),
),
);
}