Skip to content

Latest commit

 

History

History
158 lines (127 loc) · 12.3 KB

README_fr.md

File metadata and controls

158 lines (127 loc) · 12.3 KB
SNK

SwiftNEW

Stable Beta Validate JSON Files Swift Version Platforms License

English · 繁中 · 简中 · 粵語 · 日本語 · 한국어 · Français · Español

Un framework de présentation « Quoi de neuf » moderne et natif SwiftUI pour toutes les plateformes Apple — arrière-plans en dégradé animé, effets de verre, chargement de données à distance et prise en charge complète du RTL et de la localisation, prêts à l'emploi.

image

🎨 Galerie

Clair Sombre
Light Dark

🚀 Démarrage rapide

1. Ajoutez le package dans Xcode → File → Add Package Dependencies…

Important

URL du package

https://github.com/1998code/SwiftNEWKit

2. Ajoutez un data.json au bundle de votre app :

Tip

Exemple de notes de version en JSON

[
  {
    "version": "1.0",
    "new": [
      { "icon": "star.fill", "title": "Bienvenue", "subtitle": "Premiers pas", "body": "Merci d'avoir téléchargé notre app !" }
    ]
  }
]

3. Intégrez-le dans votre vue :

Note

Intégration SwiftUI minimale

import SwiftNEW

struct ContentView: View {
    @State private var showNew = false
    var body: some View {
        SwiftNEW(show: $showNew)
    }
}

C'est tout — SwiftNEW se déclenche automatiquement quand la version de l'app change.

Les apps hôtes CarPlay approuvées par Apple peuvent aussi afficher du contenu admissible avec SwiftNEWCarPlayTemplateFactory ; un changelog produit général n'est pas automatiquement admissible pour CarPlay. Consultez le guide d'intégration CarPlay pour le cycle de vie de la scène, le chargement des données et les exigences d'entitlement.

✨ Fonctionnalités

Fonctionnalité Depuis Description
🔐 Vérification d’achat 27.4.0 Activez-la avec purchaseRequirement pour vérifier avec StoreKit l’achat de l’app sur l’App Store, un abonnement désigné ou les deux avant d’entrer dans l’app ; par défaut uniquement dans les builds TestFlight
🖋️ Couleur du texte des boutons personnalisable 27.3.0 Définissez buttonTextColor directement ou via un binding pour remplacer le texte automatique noir ou blanc du déclencheur et des boutons d’action principaux
⌚ Prise en charge native de watchOS 27.0 SwiftNEW prend en charge watchOS 8 avec des vues compactes, des replis visuels adaptatifs et la recherche automatique de l’app compagnon dans l’App Store
🚘 Prise en charge des modèles CarPlay 27.0 Les apps hôtes CarPlay approuvées par Apple peuvent afficher du contenu admissible dans des modèles natifs de liste et de détail avec le même JSON local ou distant
📥 Chargeur de versions autonome 27.0 SwiftNEWReleaseNotesLoader décode le JSON local ou distant sans créer de vue SwiftUI, pour les interfaces natives et les workflows personnalisés
🎛️ Arrondi des boutons configurable 27.0 Définissez buttonCornerRadius directement ou via un binding pour harmoniser le déclencheur et les boutons d’action principaux
🔎 Contrôles de recherche dans l’historique 27.0 Activez la recherche pour chaque instance et filtrez les notes actuelles ou précédentes par titre / sous-titre / corps
📝 Descriptions facultatives 27.0 Utilisez showDescription directement ou via un binding pour masquer le corps tout en conservant l’icône, le titre et le sous-titre
🌊 Arrière-plan SwiftNEW réutilisable 27.0 Utilisez SwiftNEWBackdrop pour réutiliser des maillages statiques ou liquides et des effets derrière du contenu SwiftUI personnalisé
🌐 Plus de langues 6.6.0 Les notes sont désormais localisées en allemand, hébreu, indonésien, russe et vietnamien
🌗 Style d’icône adaptatif 6.6.0 Les arrière-plans et dégradés améliorent automatiquement le contraste en mode sombre
🫧 Commandes en verre teinté 6.6.0 Les boutons utilisent le verre teinté interactif natif sous iOS 26
🔄 Icônes alternatives 6.6.0 Synchronise l’icône de l’en-tête avec l’icône alternative sélectionnée
🎨 Mode sombre intelligent de l’icône 6.6.0 Génère une variante sombre des grandes zones blanches ou neutres tout en préservant les couleurs d’accent
📱 Chargement automatique de l’icône 6.6.0 Trouve et affiche la meilleure icône intégrée pour l’appareil actuel
⬆️ Écran de mise à jour à distance 6.5.0 Activez-le avec checkForUpdates ; si le JSON distant contient une version plus récente, SwiftNEW affiche un écran de mise à jour avec une action App Store personnalisable
🔁 Boucle d'icônes animée 6.4.0 Fait défiler les SF Symbols avec des transitions de remplacement natives
🧾 Schéma d'icônes flexible 6.4.0 Définissez les icônes avec icon, toIcon ou un tableau icons complet
🎯 Badge en verre par défaut 6.4.0 Des badges d'icônes en verre arrondis donnent aux lignes un rendu plus doux
🌈 Glyphes d'icônes en dégradé 6.4.0 Les glyphes d'icônes utilisent un dégradé de thème du coin supérieur gauche au coin inférieur droit
🧩 Disposition des lignes affinée 6.4.0 Icônes plus grandes, lignes plus compactes et boutons d'action plus arrondis
⬇️ Contrôles Continuer abaissés 6.4.0 Les contrôles Continuer sont plus proches du bas pour être plus accessibles
🌊 Mouvement de maillage liquide 6.4.0 meshStyle : arrière-plans en maillage .still ou .liquid animés
🏷️ Préfixe d'en-tête personnalisé 6.4.0 Personnalisez la ligne de titre de l'en-tête avec headingPrefix
🔍 Recherche dans la feuille 6.3.0 Filtrez les notes de version actuelles par titre / sous-titre / corps
🛡️ Chargement résilient 6.3.0 Gère les échecs de chargement avec un état de réessai intégré au lieu d'un spinner sans fin
🏷️ En-tête personnalisable 6.3.0 headingStyle : .version, .versionOnly ou .appName
🔢 Numéro de build optionnel 6.3.0 Masquez le numéro de build via showBuild: false
🎨 Effet de particules flottantes 6.3.0 Nouvel effet spécial .particles (TimelineView + Canvas)
🎯 Présentations flexibles 6.2.0 .sheet, .fullScreenCover, .embed
🌈 Couleur de texte adaptative 6.2.0 Le texte des boutons contraste automatiquement avec l'arrière-plan
🛠️ Initialiseur simplifié 6.2.0 Valeurs directes — plus besoin d'envelopper avec .constant()
🪟 Glassmorphisme 5.5.0 Flou moderne avec transparence personnalisable
🌈 Dégradés maillés et linéaires 5.3.0 Arrière-plans en dégradé animé
🥽 Prise en charge de visionOS 4.1.0 Informatique spatiale native
🔄 Déclenchement automatique 4.0.0 S'affiche automatiquement quand la version ou le build change
🎄 Effets spéciaux 3.9.0 Chute de neige .christmas, arc-en-ciel .particles
📱 Notifications Drop 3.5.0 Notifications bannière de style iOS
🔥 Firebase Realtime DB 3.0.0 Mises à jour de contenu en direct
🌐 JSON distant 3.0.0 Chargement depuis n'importe quel endpoint REST
📚 Historique des versions 2.0.0 Parcourez toutes les versions précédentes

Vitrine des fonctionnalités

Dégradé maillé (5.3+) visionOS (4.1+)
Mesh visionOS
Icône d'app (3.9.6+) Historique (2.0+)
App Icon History

📝 Notes

  • Fournir checkForUpdates: true avec une URL data distante active la recherche de mises à jour. Si la valeur distante la plus élevée de subVersion (ou version) est plus récente que la version installée de l’app, SwiftNEW affiche l’écran de mise à jour à la place de Nouveautés et obtient la destination App Store via l’API iTunes Lookup d’Apple à partir de l’identifiant de bundle de l’app. L’action principale utilise par défaut le libellé localisé Télécharger maintenant ; utilisez updateButtonTitle pour afficher un texte personnalisé tel quel. Définissez allowsSkippingUpdate: false pour rendre l’écran de mise à jour impossible à ignorer.
  • Fournir purchaseRequirement: .appPurchase, .subscription(productIDs:) ou .appPurchaseAndSubscription(productIDs:) vérifie l’achat avec StoreKit 2 au lancement, par défaut uniquement dans les builds TestFlight (purchaseEnvironment: .all l’applique partout). Si l’exigence n’est pas satisfaite, l’écran d’achat s’affiche avant les écrans de mise à jour et de nouveautés, avec Restaurer les achats pour les abonnements et un bouton App Store ou votre propre purchaseAction. Cet écran est obligatoire et ne peut pas être ignoré. Comme TestFlight utilise le bac à sable StoreKit, les résultats sandbox ne sont jamais acceptés : la version App Store conserve la transaction de production signée par Apple et le build TestFlight revérifie cette signature ; les testeurs doivent donc ouvrir une fois la version App Store au préalable. Voir Configuration.

📚 En savoir plus

Guide Contenu
Configuration Tous les paramètres, exemples, sources de données (locale / distante / Firebase), modèle de données
Platform Support & Installation Versions d'OS prises en charge, prérequis, matrice des fonctionnalités, configuration SPM
CarPlay Integration Template factory, cycle de vie de la scène, chargement des données, exigences d'entitlement
Contributing Structure du projet, environnement de dev, consignes de PR, dépannage

📄 Licence

SwiftNEW est publié sous la licence MIT — l'une des licences open source les plus permissives.

Détails
✅ Vous pouvez L'utiliser dans des apps commerciales (y compris des apps payantes de l'App Store), la modifier, la redistribuer et l'intégrer dans un logiciel propriétaire
📝 Vous devez Conserver la mention de copyright et la notice de licence d'origine dans votre projet
⚠️ Sans garantie Le logiciel est fourni « tel quel » — l'auteur n'est pas responsable des problèmes liés à son utilisation

Voir LICENSE pour le texte complet.

💖 Soutenu par

Sponsor Ressource
Digital Ocean Infrastructure cloud
Ask DeepWiki Q&R sur la documentation par IA