Nouvelles Du Monde

Apple discontinues iOS 16.3 verification channels

Apple discontinues iOS 16.3 verification channels

Après la sortie d’iOS 16.3.1 le 13 février, Apple a fermé la vérification canaux pour la version précédente d’iOS, iOS 16.3, rendant impossible la rétrogradation vers ces versions après mise à niveau vers iOS 16.3.1. Pour encourager les utilisateurs à maintenir le système d’exploitation à jour, Apple ferme généralement le canal de vérification de la version précédente peu de temps après la sortie de la nouvelle version.

Selon les rapports, actuellement, les utilisateurs d’iPhone utilisent la dernière version de la mise à jour iOS. Apple a récemment publié iOS 16.4 avec iPadOS 16.4 et macOS. Vous pouvez vérifier les nouveautés de la mise à jour iOS 16.4 mentionnée ci-dessous.

Sauvegarde et restauration

Problèmes connus

Inscription bêta pour iPhone et iPad

Nouvelles fonctionnalités

  • À partir de la version bêta d’iOS et d’iPadOS 16.4, les membres du programme pour développeurs Apple verront une nouvelle option pour activer les versions bêta des développeurs directement à partir de la mise à jour logicielle dans les paramètres. Cette nouvelle option sera automatiquement activée sur les appareils déjà inscrits au programme qui se mettent à jour vers la dernière version bêta. Votre iPhone ou iPad doit être connecté avec le même identifiant Apple que vous avez utilisé pour vous inscrire au programme pour développeurs Apple afin de voir cette option dans les paramètres. Dans les futures versions d’iOS et d’iPadOS, ce nouveau paramètre sera le moyen d’activer les bêtas de développeur et les profils de configuration n’accorderont plus l’accès. (101692915)

ML de base

Dépréciations

  • Le déploiement du modèle Core ML est obsolète. Envisagez d’utiliser des éléments d’arrière-plan ou NSURLSession plutôt. (102993813)

Téléphonie de base

Dépréciations

  • CTCarrier, une API obsolète, renvoie des valeurs statiques pour les applications créées avec le SDK iOS 16.4 ou version ultérieure. (76283818)

Maison

Nouvelles fonctionnalités

  • La prise en charge des mises à jour logicielles manuelles et automatiques est désormais disponible pour les accessoires Matter. (102727759)

Problèmes connus

  • L’appareil iOS qui initie le couplage doit être sur le même compte iCloud avec le hub domestique. Seul le propriétaire d’une maison, et non un utilisateur invité, peut coupler les accessoires Matter. (76012945)
  • Vous pouvez recevoir une erreur lors de l’association d’un accessoire Matter à l’aide du code de configuration à 11 chiffres. (101554366)

    Solution de contournement: Associez l’accessoire à l’aide du code QR à la place.

  • Lorsqu’une mise à jour logicielle manuelle est tentée sur un accessoire Matter avec une mise à jour disponible, l’Accueil peut ne pas indiquer que la mise à jour a été demandée et continuer à indiquer qu’une mise à jour est disponible. (104902918)

    Solution de contournement: Vérifiez ultérieurement le volet Mise à jour du logiciel dans les paramètres d’accueil, car la mise à jour peut s’effectuer en arrière-plan. La section Mise à jour récente affiche la nouvelle version du logiciel une fois que l’accessoire Matter a terminé la mise à jour du logiciel.

  • L’écran de mise à jour logicielle des accessoires Matter peut afficher un numéro de version incorrect pendant qu’une mise à jour est en cours. (105031569)

Lecteur iCloud

Problèmes connus

  • API de système de fichiers telles que NSFileManager peut déclencher la matérialisation de fichiers sans données et/ou de structures de répertoires dans iCloud Drive, entraînant des blocages ou des problèmes de performances pour l’application appelante. (105009536)

    Solution de contournement: Évitez d’appeler quoi que ce soit qui effectue des E/S sur le thread principal. Adopter UICollectionViewDataSourcePrefetching et les cellules de charge de manière asynchrone. Les E/S doivent être enveloppées sous -[NSFileCoordinator coordinateAccessWithIntents:queue:byAccessor:] pour éviter de bloquer un thread sur un appel synchrone. Vous pouvez également désactiver ce comportement en définissant votre politique IO sur IOPOL_MATERIALIZE_DATALESS_FILES_OFF mais attendez-vous à ce que les E/S échouent avec EDEADLKsi un composant du chemin est sans données (SF_DATALESS).

  • iCloud Drive peut cesser de répondre lorsqu’il est ouvert à partir de l’application Fichiers. (105438692)

    Solution de contournement: Redémarrez votre appareil.

Lire aussi  "Je n'ai toujours pas appris à perdre"

Claviers

Nouvelles fonctionnalités

  • Les mises à jour des claviers incluent :
    • Prise en charge du nouvel Emoji Unicode 15.0.
    • La correction automatique pour le clavier coréen est activée par défaut pour les tests et les commentaires.
    • Le clavier ukrainien prend désormais en charge le texte prédictif.
    • Les claviers gujarati, pendjabi et ourdou ajoutent la prise en charge des dispositions de translittération.
    • De nouvelles dispositions de clavier sont disponibles pour Choctaw et Chickasaw. (105243233)

MapKit

Problèmes résolus

  • Corrigé : amélioration des performances de MKOverlay objets. (102187262)

Pages, numéros et note d’identification

Problèmes connus

  • Lorsque la protection avancée des données pour iCloud est activée, Pages, Numbers et Keynote peuvent nécessiter la fermeture inattendue de documents collaboratifs. (103463223)

    Solution de contournement: Fermez le document, la feuille de calcul ou la présentation concerné et rouvrez-le après quelques minutes.

Passkeys et services d’authentification

Nouvelles fonctionnalités

  • Navigateurs Web sur iOS avec le com.apple.developer.web-browser droit ont maintenant le mot de passe AutoFill dans leur WKWebView. Cette fonctionnalité fonctionne sans nécessiter de modifications de code ni de reconstruction. (97576198)
  • Un nouveau Contrôleur d’autorisation L’API vous permet d’effectuer des demandes de mot de passe et d’autres types de demandes d’autorisation à partir des vues SwiftUI. (97576703)
  • Un nouveau WebAuthenticationSessionWebAuthenticationSession L’API vous permet d’effectuer OAuth et d’autres types de flux d’authentification basés sur le Web à partir des vues SwiftUI. (101259868)

Problèmes résolus

  • Corrigé : le remplissage automatique, y compris le remplissage automatique pour les clés d’accès et les mots de passe, fonctionne désormais avec les éléments d’entrée contenus dans un DOM fantôme dans le contenu Web. (103859657)
  • Corrigé : appel PublicKeyCredential.isUserVerifyingPlatformAuthenticatorAvailable() ou PublicKeyCredential.isConditionalMediationAvailable() à partir d’une page Web dans un WKWebView renvoie désormais correctement si les clés de sécurité peuvent être utilisées, en fonction des domaines associés de l’application appelante. (104094169)

Problèmes connus

  • Les demandes de médiation conditionnelles (saisie automatique avec mot de passe) dans le contenu Web n’abandonnent pas lorsque leur AbortSignal est congédié. (99535627)

Crayon

Nouvelles fonctionnalités

  • Le survol Apple Pencil prend désormais en charge l’inclinaison et l’azimut. (105412781)

Extensions Web Safari

Nouvelles fonctionnalités

  • Ajout de la prise en charge de modifyHeaders type d’action pour declarativeNetRequest règles. (71867709)
  • Ajout de la prise en charge de browser.storage.session pour stocker jusqu’à 10 Mo de données en mémoire. (79283961)
  • Ajout de la prise en charge des scripts de contenu persistant via browser.scripting.registerContentScript, browser.scripting.getRegisteredContentScripts, browser.scripting.unregisterContentScriptset scripting.updateContentScripts. (91261369)

Problèmes résolus

  • Fixé browser.webNavigation événements se déclenchant pour les hôtes auxquels l’extension n’avait pas accès. Les extensions doivent demander des autorisations d’hôte pour que les sites reçoivent des événements. (100204850)
Lire aussi  Comment supprimer le chatbot My AI de votre iPhone sur Snapchat ?

SKAdNetwork

Problèmes résolus

  • Correction d’un problème où SKAdNetwork pour les annonces Web n’acceptait pas les impressions d’annonces. (104839712)

StoreKit

Nouvelles fonctionnalités

  • De nouvelles API StoreKit 2 sont disponibles pour les achats intégrés promus. Les applications peuvent recevoir des données d’achat de produits promus de l’App Store avec PurchaseIntent.intentset peut gérer l’ordre et la visibilité des promotions avec Product.PromotionInfo. (85321849)

SwiftUI

Nouvelles fonctionnalités

  • Une famille de nouveaux modificateurs de vue vous permet de créer une expérience de feuille redimensionnable encore plus riche avec SwiftUI. Utilisez ces nouveaux modificateurs pour rendre la vue derrière une feuille interactive, fournir un arrière-plan translucide, contrôler le comportement de défilement et d’expansion, et même ajuster le rayon d’angle de la feuille.

    Pour permettre aux utilisateurs d’interagir avec le contenu d’une feuille, utilisez la .presentationBackgroundInteraction(_:) modificateur. L’exemple suivant permet aux utilisateurs d’interagir avec la vue derrière la feuille lorsque la feuille est au plus petit cran, mais pas aux autres crans :

       struct ContentView: View {       @State private var showSettings = false
           var body: some View {           Button("View Settings") {               showSettings = true           }           .sheet(isPresented: $showSettings) {               SettingsView()                   .presentationDetents(                       [.height(120), .medium, .large])                   .presentationBackgroundInteraction(                       .enabled(upThrough: .height(120)))           }       }   }

    Donnez à votre feuille un fond translucide avec le nouveau presentationBackground(_:) modificateur. L’exemple suivant utilise le matériau épais comme arrière-plan de la feuille :

      struct ContentView: View {      @State private var showSettings = false        var body: some View {          Button("View Settings") {              showSettings = true          }          .sheet(isPresented: $showSettings) {              SettingsView()                  .presentationBackground(.thickMaterial)           }       }   }

    Ajoutez une vue personnalisée comme arrière-plan de votre feuille avec le presentationBackground(alignment:content:) modificateur.

    Par défaut, lorsqu’une personne glisse vers le haut sur une vue de défilement dans une présentation redimensionnable, la présentation passe au cran suivant. Une vue de défilement intégrée à la présentation ne défile que lorsque la présentation atteint sa plus grande taille. Utilisez le nouveau presentationContentInteraction(_:) modificateur pour contrôler quelle action est prioritaire.

    Par exemple, vous pouvez demander que les gestes de balayage fassent d’abord défiler le contenu, en redimensionnant la feuille uniquement après avoir atteint la fin de la vue de défilement, en passant le .scrolls valeur à ce modificateur :

       struct ContentView: View {       @State private var showSettings = false
           var body: some View {           Button("View Settings") {               showSettings = true           }           .sheet(isPresented: $showSettings) {               SettingsView()                   .presentationDetents([.medium, .large])                   .presentationContentInteraction(.scrolls)           }       }   }

(101565636)

  • Appliquer le nouveau .presentationCompactAdaptation(_:) modificateur du contenu d’une présentation modale pour contrôler son adaptation aux classes de taille compacte sur iPad et iPhone.

    Par exemple, le popover modificateur présente un popover sur iPad. Par défaut, un popover s’adapte à la classe de taille horizontale étroite sur iPhone en s’affichant sous forme de feuille. Dans l’exemple ci-dessous, le .presentationCompactAdaptation(.none) modificateur demande à SwiftUI de l’afficher également sous forme de popover sur iPhone.

      struct PopoverExample: View {      @State private var isShowingPopover = false        var body: some View {          Button("Show Popover") {              self.isShowingPopover = true          }          .popover(isPresented: $isShowingPopover) {              Text("Popover Content")                  .padding()                  .presentationCompactAdaptation(.none)          }      }  }

    Utiliser .presentationCompactAdaptation(horizontal:vertical:) s’adapter différemment dans des classes de taille compactes horizontalement et verticalement. (103257577)

Problèmes résolus

  • Fixé: ScrollView a amélioré la prise en charge des langues de droite à gauche par défaut. Si tu as un ScrollView qui ne devrait pas changer son comportement dans les langues de droite à gauche, utilisez le .environment(.layoutDirection, .leftToRight) modificateur pour assurer la ScrollView voit toujours une direction de mise en page de gauche à droite. (65108729)
  • Corrigé : les modificateurs actualisables appliqués aux listes ne s’appliqueront plus également aux listes ou aux vues de défilement dans le contenu de cette liste. Réappliquez un modificateur actualisable au contenu de la liste si c’est le comportement souhaité. (102052575)
Lire aussi  Le personnage du professeur d'herboristerie dans le jeu Hogwarts Legacy fascine les joueurs

Dépréciations

  • Les initialiseurs TimelineView qui transmettent une instance de TimelineView.Context dans sa fermeture de contenu ont été dépréciés dans cette version et remplacés par des versions équivalentes qui transmettent une instance de TimelineViewDefaultContext plutôt.

    Dans le code TimelineView qui ne génère pas d’avertissement, aucune action n’est nécessaire : le code qui n’annote pas explicitement le type de contexte utilisera la nouvelle API lors de la recompilation, sans aucun changement de fonctionnalité.

    Dans le code TimelineView qui affiche ce nouvel avertissement d’obsolescence, la modification des annotations de type de TimelineView.Context pour TimelineViewDefaultContext résoudra l’avertissement.

    Cette modification améliore les performances de compilation du code Swift et SwiftUI. Le nouvel initialiseur dissocie le type générique de TimelineView en cours d’instanciation du type générique du contexte passé dans sa fermeture de contenu, évitant ainsi au compilateur d’avoir à réconcilier ces types lors de la compilation. (100641618)

  • Plusieurs initialiseurs de table qui étaient auparavant obsolètes et remplacés dans iOS 16.2 et macOS 13.1 ont maintenant été supprimés de l’API. L’utilisation de ces initialiseurs générera désormais une erreur de construction, avec un correctif pour passer à l’API d’initialisation de remplacement. Pour le code qui ne génère pas cette erreur, aucune action n’est nécessaire.

    Cette modification, ainsi que d’autres améliorations du compilateur Swift, améliorent les performances de compilation du code Swift et SwiftUI.

    La nouvelle API de remplacement ajoute un paramètre, of:, qui identifie le type des valeurs de ligne de la table séparément des paramètres de fermeture de contenu de ligne et de colonne de l’initialiseur. Cela améliore les performances de compilation de deux manières. Tout d’abord, en connaissant le type de valeur de ligne à l’avance, le compilateur n’a pas besoin de déduire ce type des implémentations du corps de chaque fermeture. Deuxièmement, le compilateur peut immédiatement imposer que chaque fermeture utilise le même type de valeur de ligne dans son implémentation de corps, au lieu de devoir vérifier que les types déduits sont égaux après avoir évalué chaque fermeture.

    Les exemples suivants montrent le code de création d’une table avant et après l’adoption de la nouvelle API :

    Table {	TableColumn("Name", value: .name)  TableColumn("Email", value: .email)} rows: {  ForEach(people) { person in  	TableRow(person)  }}
    Table(of: Person.self) {  TableColumn("Name", value: .name)  TableColumn("Email", value: .email)} rows: {  ForEach(people) { person in  	TableRow(person)  }}

(102910184)

Navigation SwiftUI

Problèmes résolus

(103278180)

  • Corrigé : les destinations de navigation avec des dépendances de données capturées à partir des vues d’ancêtre sont mises à jour de manière plus fiable.
    struct DataDependentNavigation: View {  @State var changeColor: Bool = false  @State var present: Bool = false
      var body: some View {  NavigationSplitView {    Color.blue      .navigationDestination(isPresented: $present) {                       changeColor ? Color.green : Color.yellow      }  } detail: {    Color.teal  }}

(103429535)

Portefeuille

Problèmes connus

  • Une erreur peut se produire lors de l’ajout ou de la présentation d’une carte d’identité. (105302759)
Facebook
Twitter
LinkedIn
Pinterest

Leave a Comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.

ADVERTISEMENT