Release 1.3.1 (build 20): iCloud sync fix + sources search/filter
iCloud sync: - Fix: deploy CloudKit schema to production so exports work - Fix: PredictionCache marked syncable=NO (binary attr caused partial failures) - Fix: forceExportToiCloud uses createdAt+1ms for guaranteed persistent history - Fix: auto-deduplication on CloudKit import (processRemoteChanges) - Add: NSPersistentHistoryTrackingKey always enabled regardless of CloudKit state - Add: cloudKitForceReload notification so repositories re-fetch on remote changes Sources UI: - Add: horizontal category filter chips in SourceListView - Add: search toggle button with animated TextField Other: - Add: ITSAppUsesNonExemptEncryption=NO in Info.plist (skip manual compliance) - Add: fastlane submit lane with run_precheck_before_submit=false - Update: release notes all locales for 1.3.1 - Update: fastlane API key via pass Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -35,6 +35,8 @@
|
||||
<string>ca-app-pub-1549720748100858~9632507420</string>
|
||||
<key>GADDelayAppMeasurementInit</key>
|
||||
<true/>
|
||||
<key>ITSAppUsesNonExemptEncryption</key>
|
||||
<false/>
|
||||
<key>LSRequiresIPhoneOS</key>
|
||||
<true/>
|
||||
<key>NSAppTransportSecurity</key>
|
||||
|
||||
@@ -293,6 +293,25 @@
|
||||
"onboarding_add_first_source" = "Add My First Investment";
|
||||
"onboarding_import_data" = "Import Existing Data";
|
||||
|
||||
// MARK: - iCloud Sync Status (1.3.1)
|
||||
"Force Upload to iCloud" = "Force Upload to iCloud";
|
||||
"Uploading..." = "Uploading...";
|
||||
"No export yet" = "No export yet";
|
||||
"Syncing with iCloud..." = "Syncing with iCloud...";
|
||||
"Not synced yet" = "Not synced yet";
|
||||
"Refresh" = "Refresh";
|
||||
|
||||
// MARK: - iCloud Diagnostics (1.3.1)
|
||||
"Verify iCloud Setup" = "Verify iCloud Setup";
|
||||
"Checking…" = "Checking…";
|
||||
"context.hasChanges: YES ✓" = "context.hasChanges: YES ✓";
|
||||
"context.hasChanges: NO ✗ — objects may not have been queued" = "context.hasChanges: NO ✗ — objects may not have been queued";
|
||||
|
||||
// MARK: - Sources Filter & Search (1.3.1)
|
||||
"sources_filter_all" = "All";
|
||||
"Search sources" = "Search sources";
|
||||
"Clear Filters" = "Clear Filters";
|
||||
|
||||
// MARK: - AddSourceView (1.3.0)
|
||||
"add_source_name_placeholder" = "e.g. MSCI World ETF, ING Savings, Apartment...";
|
||||
"add_source_name_footer" = "A source is any investment you want to track: stocks, ETFs, savings accounts, real estate, crypto, and more.";
|
||||
|
||||
@@ -222,6 +222,23 @@
|
||||
"onboarding_add_first_source" = "Añadir mi primera inversión";
|
||||
"onboarding_import_data" = "Importar datos existentes";
|
||||
|
||||
// MARK: - iCloud Sync Status (1.3.1)
|
||||
"Force Upload to iCloud" = "Forzar subida a iCloud";
|
||||
"Uploading..." = "Subiendo...";
|
||||
"No export yet" = "Aún no exportado";
|
||||
"Syncing with iCloud..." = "Sincronizando con iCloud...";
|
||||
"Not synced yet" = "Aún no sincronizado";
|
||||
"Refresh" = "Actualizar";
|
||||
|
||||
// MARK: - iCloud Diagnostics (1.3.1)
|
||||
"Verify iCloud Setup" = "Verificar configuración iCloud";
|
||||
"Checking…" = "Comprobando…";
|
||||
|
||||
// MARK: - Sources Filter & Search (1.3.1)
|
||||
"sources_filter_all" = "Todas";
|
||||
"Search sources" = "Buscar fuentes";
|
||||
"Clear Filters" = "Limpiar filtros";
|
||||
|
||||
// MARK: - AddSourceView (1.3.0)
|
||||
"add_source_name_placeholder" = "p.ej. ETF MSCI World, Cuenta ING, Piso...";
|
||||
"add_source_name_footer" = "Una fuente es cualquier inversión que quieras seguir: acciones, ETFs, cuentas de ahorro, inmuebles, cripto y más.";
|
||||
|
||||
Reference in New Issue
Block a user