iOS Digest n ° 8 (14 juin - 27 juin)


Source de l'image: The Verge
La voiture autonome d'Apple, la prise en charge d'un manipulateur de type souris sur l'iPad, un appareil photo sur l'Apple Watch et encore plus de nouvelles dans le nouveau condensé iOS. Dans le même temps, voyons à quel point SwiftUI est bon en termes de performances et comment utiliser le framework Combine si les chaînes RxSwift ne s'accrochent plus à l'âme.

Nouvelles de l'industrie


  • The Verge rapporte qu'Apple envisage d'intégrer l'appareil photo dans sa montre. Nous ne pouvons que deviner la gravité de ces plans, mais juste au cas où la société a déposé plusieurs brevets pour intégrer l'appareil photo dans la sangle, dont l'un remonte à 2016. Pendant ce temps, la caméra n'est pas apparue dans les nouvelles versions, mais elle le sera toujours.

    Il est rapporté que la prise de photos sera possible en utilisant la commande vocale ou en tenant l'horloge. A en juger par les images, pour retirer de l'angle souhaité, il suffit de tourner la sangle (ce qui semble beaucoup plus pratique que de tourner la main si l'appareil photo était intégré dans le boîtier lui-même).
  • L'iPad est envahi par le nombre d'appareils jumelés possibles: en plus du clavier et du stylet, iPadOS prend désormais en charge une souris d'ordinateur. Il n'y a pas eu d'annonce officielle, cette fonctionnalité est désactivée par défaut, mais peut être activée dans les paramètres d'accès universel.
  • Apple a acheté la startup Drive.ai , qui développe une voiture autonome. À propos du fait qu'Apple travaille sur sa propre voiture avec contrôle autonome, c'était déjà connu, mais l'année dernière, il y avait des nouvelles que le projet était fermé. Apparemment non, le travail continue.
  • Apple a embauché l'un des meilleurs concepteurs de processeurs ARM pour travailler sur son propre processeur MacBook, rapporte Bloomberg . À en juger par les informations disponibles, un plan de remplacement des processeurs Intel existe déjà depuis plusieurs années et l'objectif est de passer à leurs proches basés sur ARM en 2020.

IOS Development News


  • Les développeurs continuent de jouer avec la nouvelle version d'ARKit 3, plusieurs démos intéressantes ont été publiées: par exemple, une avec la possibilité de supprimer des personnes de la vidéo en temps réel. Cela ressemblera probablement à la fonction «Bloquer l'utilisateur» dans les réseaux sociaux pour les lunettes intelligentes à l'avenir.

    Jusqu'à présent, sans utilisation pratique spécifique, mais il est assez collant que le corps soit divisé en particules en temps réel:

    Avez-vous réussi à faire quelque chose de similaire en utilisant ARKit? Partagez vos idées dans les commentaires.
  • La complexité linguistique rapide augmente, chaque mise à jour ajoutant de plus en plus de fonctionnalités. Dans Swift 5.1, il est possible d'écrire des wrappers pour les propriétés et structures de classe (dans les wrappers de propriété d'origine). Ils sont nécessaires pour ajouter de manière déclarative des fonctionnalités et un comportement au-dessus du type déclaré de la variable, augmentant ainsi la sécurité du code.

    Par exemple, considérons un wrapper qui coupe automatiquement les espaces et les sauts de ligne dans une chaîne:

    import Foundation @propertyWrapper struct Trimmed { private(set) var value: String = "" var wrappedValue: String { get { value } set { value = newValue.trimmingCharacters(in: .whitespacesAndNewlines) } } init(initialValue: String) { self.wrappedValue = initialValue } } 

    Une variante de la déclaration et de l'utilisation dans le code se présentera comme suit:

     struct Post { @Trimmed var title: String @Trimmed var body: String } let quine = Post(title: " Swift Property Wrappers ", body: "...") quine.title // "Swift Property Wrappers" (no leading or trailing spaces!) quine.title = " @propertyWrapper " quine.title // "@propertyWrapper" (still no leading or trailing spaces!) 

    Consultez l'article Swift Property Wrappers pour plus de détails.

    Pendant ce temps, GitHub a déjà une collection de wrappers qui pourraient être utiles.
  • Il y a deux articles sur l'utilisation du framework Combine : Premiers pas avec le framework Combine dans Swift et le framework Combine en action . Choisissez-en un ou lisez les deux!
  • Il s'avère que la nouvelle fonctionnalité de Xcode 11 Preview peut être utilisée sans SwiftUI, mais vous devrez changer la version minimale prise en charge d'iOS, qui semble un peu béquillée et peut-être pas applicable pour un grand projet existant. La procédure peut être trouvée ici .
  • Si vous, comme moi, êtes intéressé par la question de la synchronisation des données client, assurez-vous de lire l'article New CloudKit-Core Core Data Sync d'Apple . Dans ce document, le développeur de la bibliothèque de synchronisation de données Ensembles réfléchit à la nouvelle réincarnation CloudKit du cadre de synchronisation basé sur Apple CoreData.
    Pour ceux qui sont intéressés: chez Mobius en mai, j'ai eu l'occasion de faire une présentation sur les problèmes de synchronisation des données sur les clients mobiles lors de l'édition conjointe. De plus, en juillet, il sera possible de communiquer personnellement avec l'un des ambassadeurs des problèmes de synchronisation des données Martin Kleppman lors de la conférence Hydra 2019 , qui se tiendra les 11 et 12 juillet 2019 à Saint-Pétersbourg. En attendant, il est possible de lire une grande interview avec lui.
  • Twitter rapporte que les performances d'animation de l'interface SwiftUI ne sont pas inférieures aux primitives écrites à l'aide de CALayer et CoreGraphics.

    SwiftUI peut traiter 5 à 10 fois plus de primitives avant que les performances ne descendent en dessous de 60 FPS.

Source: https://habr.com/ru/post/fr457862/


All Articles