Comment générer le retour haptique avec UIFeedbackGenerator

Disponible à partir d’iOS 10.0

La technologie 3D Touch introduit par Apple le 9 septembre 2014 lors de la présentation de l’Apple Watch. Puis disponible sur un iPhone, depuis la version 6S et 6S Plus. Indisponible aux développeurs jusqu’à lors.

iOS 10 introduit de nouvelles façons de générer un retour haptique en utilisant des modèles de vibration prédéfinis partagés par toutes les applications, aidant ainsi les utilisateurs à comprendre que les différents types de commentaires portent une signification particulière. Le noyau de cette fonctionnalité est fournie par UIFeedbackGenerator, mais qui est juste une classe abstraite – les trois classes qui vous intéressent vraiment sont UINotificationFeedbackGenerator, UIImpactFeedbackGenerator et UISelectionFeedbackGenerator.

Le premier de ceux-ci, UINotificationFeedbackGenerator, vous permet de générer des retours sur la base de trois événements système: erreur, le succès, et d’avertissement.

Le second, UIImpactFeedbackGenerator, vous permet de générer légère, moyenne, et des effets lourds que Apple dit fournir une « métaphore physique qui complète l’expérience visuelle. »

Enfin, UISelectionFeedbackGenerator génère une rétroaction qui doit être déclenché lorsque l’utilisateur est en train de changer leur sélection sur l’écran, par exemple se déplaçant à travers un PickerView.

A ce jour, seul le nouveau moteur Taptic trouvé dans l’iPhone 7 et iPhone 7 Plus supporte ces API. Les autres appareils ignorent silencieusement les demandes haptiques.

Pour commencer à essayer ces API, créez un modèle SingleViewApplication dans Xcode, puis remplacer le ViewController avec ce code en swift:

import UIKit

class ViewController: UIViewController {
    var i = 0

    override func viewDidLoad() {
        super.viewDidLoad()

        let btn = UIButton()
        btn.translatesAutoresizingMaskIntoConstraints = false

        btn.widthAnchor.constraint(equalToConstant: 128).isActive = true
        btn.heightAnchor.constraint(equalToConstant: 128).isActive = true
        btn.centerXAnchor.constraint(equalTo: view.centerXAnchor).isActive = true
        btn.centerYAnchor.constraint(equalTo: view.centerYAnchor).isActive = true

        btn.setTitle("Tap here!", for: .normal)
        btn.setTitleColor(UIColor.red, for: .normal)
        btn.addTarget(self, action: #selector(tapped), for: .touchUpInside)

        view.addSubview(btn)
    }

    func tapped() {
        i += 1
        print("Running \(i)")

        switch i {
        case 1:
            let generator = UINotificationFeedbackGenerator()
            generator.notificationOccurred(.error)

        case 2:
            let generator = UINotificationFeedbackGenerator()
            generator.notificationOccurred(.success)

        case 3:
            let generator = UINotificationFeedbackGenerator()
            generator.notificationOccurred(.warning)

        case 4:
            let generator = UIImpactFeedbackGenerator(style: .light)
            generator.impactOccurred()

        case 5:
            let generator = UIImpactFeedbackGenerator(style: .medium)
            generator.impactOccurred()

        case 6:
            let generator = UIImpactFeedbackGenerator(style: .heavy)
            generator.impactOccurred()

        default:
            let generator = UISelectionFeedbackGenerator()
            generator.selectionChanged()
            i = 0
        }
    }
}

Lorsque vous exécutez que sur votre téléphone, en appuyant sur le « Tap here ! » vous aurez les retours haptique par ordre.

Car cela peut prendre un peu de temps au système pour préparer le retour haptique, Apple recommande d’appeler la méthode prepare() avant de déclencher l’effet haptique. Si vous ne le faites pas, il y aura un léger décalage entre l’effet visuel et haptique correspondant, cela peut dérouter certains utilisateurs.

Apple demande expressément d’utiliser judicieusement le retour haptique des iPhone, afin d’éviter une mauvaise expérience utilisateur. De plus n’oubliez pas les anciens iPhone !

Contacter l’équipe de Review Apple

Récemment, après avoir attendu 3 semaines qu’Apple valide une application. Le jour même j’ai vu un bug ! Le bug portant sur une fonctionnalité TRÈS importante de l’application, je l’ai corrigé dans les 24 heures et ai renvoyé l’application chez Apple.

SAUF que Apple pourrait reprendre du temps pour valider ce build très urgent.

En discutant avec mon CTO, il me dit que l’on peut contacter l’équipe de Review Apple.

Après avoir rempli le petit formulaire (ici) et surtout avoir donné la raison pour laquelle je demande ce passe droit, vous attendez la validation d’Apple.

Capture d’écran 2016-03-24 à 14.28.32

Vous recevez un mail dans les heures qui suivent pour vous dire qu’Exceptionnellement l’equipe qui s’occupe de tester les applications pourrait éventuellement prendre l’application en priorité.  Aucune garantie que ça soit dans les temps. Le mail évoque le fait que si l’application n’est pas conforme la demande serait toujours effective pour les builds suivant jusqu’à validation. Une chance quand on connaît le process compliqué qu’est la validation d’une application.

Au final, dans mon cas, l’application fut valider 2 heures après le mail. Un retour d’expérience très positif pour cette procédure.

Et vous ça vous êtes déjà arrivé de faire la demande ? Vous la connaissiez ?

WWDC 2015 : Ce qu’il faut retenir !

Pour la 26e édition, Apple nous a réservé plusieurs annonces.

macgpic-1433783435-2771154622395-sc-op

OS X El Capitan

On a le nouveau nom d’OS X ! El Capitan, successeur de Yosemite. C’est le nom d’un sommet dans le parc Yosemite.

macgpic-1433783608-2943882107614-sc-op

 

Apple s’est concentré sur l’expérience et les performances !

1- On peut d’abord retrouver son curseur plus rapidement : il faut le secouer et il grossit.

2- Apple a ajouté d’autres gestes avec le trackpad.

3- Dans Safari, on peut accrocher des sites (comme dans Chrome et Firefox). Ces sites sont à côté des onglets. On peut aussi couper facilement le son de n’importe quel onglet.

4- Spotlight comprend l’anglais pour faire des recherches plus évoluées, notamment des recherches qui combinent plusieurs critères. On a encore plus d’informations, comme la météo. Et ces fonctions sont aussi disponibles dans les logiciels : dans Mail, on peut demander les mails que l’on a ignoré de tel interlocuteur. Idem dans le Finder.

5- Mission Control est plus fluide.

macgpic-1433783968-3303798741801-sc-op

6- On peut travailler avec deux fenêtres côte à côte (comme dans Windows…). On peut choisir un côté ou l’autre et il y a du flou.

A la fin de sa démo Craig Federighi évoque à nouveau les différentes nouveautés présentées dans la démonstration. On est passé à côté d’un nouveau Notes, avec la possibilité de formater le texte et d’ajouter des images.

D’abord pour les développeurs. Bêta publique en juillet. Sortie finale à l’automne.

iOS 9

macgpic-1433784767-4103443607587-sc-op

macgpic-1433784753-4089300992405-sc-op

iOS 9 apporte bien Proactivity, comme prévu par la rumeur. Le téléphone apprend que vous écoutez de la musique tous les matins en courant. Et il peut proposer automatiquement un titre. Cela fonctionne en fonction du contexte : dans la voiture, il peut lancer un podcast.

macgpic-1433784816-4152183129657-sc-op macgpic-1433784786-4122264364051-sc-op

Siri vous informe au bon moment pour partir, en fonction d’un rendez-vous et de la circulation. Si on vous appelle avec un numéro inconnu, Siri regarde dans les mails pour proposer un nom.

macgpic-1433784842-4178402732081-sc-op

On peut glisser l’écran d’accueil vers la droite pour afficher l’assistant.

macgpic-1433784853-4189158299704-sc-op

La recherche est aussi plus intelligente : on peut chercher des vidéos et les lancer directement. Surtout, il y a une API pour la recherche. Ce qui veut dire que les applications peuvent l’exploiter : on peut trouver du contenu et ouvrir directement le contenu recherché et on peut après revenir à la recherche.

macgpic-1433785621-4957156759487-sc-op

 

Passbook devient Wallet dans iOS 9. Google a un service qui a le même nom…

macgpic-1433785715-5050794537807-sc-op

Craig Federighi nous parle de Notes, comme sur OS X El Capitan, on pourra utiliser du texte enrichi, des images. Mais aussi des listes à cocher : pratique. Très pratique aussi : on peut dessiner dans Notes. On peut aussi ajouter un lien vers une page vers une note.

macgpic-1433785992-5327795894609-sc-op

Nouvelle application : News. Concurrent de Flipboard. Contenu personnalisé pour vous, fourni par plusieurs éditeurs. News sera lancé d’abord aux États-Unis, en Grande-Bretagne et en Australie.

Quick Type : dans iOS 9, il y a des raccourcis à côté des suggestions. On peut copier/coller du texte, changer la mise en forme du texte. Mais on peut aussi transformer le clavier en trackpad ! Avec deux doigts, on peut déplacer le curseur, faire des sélections…

macgpic-1433786711-6046821645745-sc-op

Multitasking : on va avoir des applications sur le même écran ! Beaucoup l’attendaient depuis longtemps… le « big one » comme le nomme Craig Federighi. Réservée à l’iPad.

macgpic-1433786827-6163276226529-sc-op

On peut maintenant lancer une vidéo et pendant que la lecture continue, on peut réduire la vidéo à un petit rectangle dans un coin (Picture in Picture) et utiliser le reste de l’interface normalement.

macgpic-1433787076-6412636829786-sc-op

Craig Federighi fait le point sur toutes les nouveautés d’iOS 9. Et il parle aux développeurs, évoquant quelques nouveautés spécifiques, comme les tests d’interface dans Xcode.

macgpic-1433787283-6619460971781-sc-op

Swift, le nouveau langage de programmation d’Apple, passe à la version 2. Apple veut accélérer encore le développement du langage. Cette version sera plus rapide : 6 ou 7,5 fois plus vite qu’avant. Il y a plein de nouveautés, mais surtout, Swift devient Open Source ! Grosse nouvelle, cela veut dire que le langage ne sera plus limité aux produits Apple seulement. Potentiellement, n’importe qui peut l’utiliser.

iOS9 est disponible dès aujourd’hui pour les développeurs. En juillet pour les bêtas publiques et à l’automne pour la version finale. Tous les appareils compatibles avec iOS 8 sont aussi compatibles avec iOS 9.

watchOS

Quelques semaines après le lancement de l’Apple Watch, on parle déjà d’un nouveau système. Tim Cook s’en amuse et invite Kevin Lynch pour nous parler de watchOS.

Nouvelle plateforme pour les développeurs, avec des applications natives cette fois. Apple croit en la technologie pour le poignet et les développeurs vont créer de nouvelles choses spécialement pour les montres.

macgpic-1433788212-7547842271855-sc-op

Complications : les développeurs pourront créer leurs propres versions ! On pourra ainsi avoir les heures de vol, le niveau de recharge d’une voiture, etc. Tous les cadrans qui ont des complications peuvent avoir ces complications crées par les développeurs.

macgpic-1433788272-7608560125479-sc-op

watchOS voyage dans le temps. La couronne digitale permet de revenir en arrière dans le temps ou avancer dans le futur pour connaître les prévisions météo, mais aussi les prochains rendez-vous, etc.

macgpic-1433788312-7647900727935-sc-op

 

Mode nuit : quand elle se recharge, la montre affiche en permanence l’heure. Le réveil change de son et on peut utiliser les deux boutons pour couper le réveil ou utiliser la fonction snooze.

macgpic-1433788595-7931577634349-sc-op

Les développeurs pourront toujours utiliser WatchKit et Kevin Lynch rappelle qu’un iPhone est toujours indispensable. Les applications natives pourront tourner directement sur l’Apple Watch et les performances seront « great », dit-il.

Les applications natives pourront utiliser un réseau Wi-Fi connu pour télécharger de nouvelles données. Les développeurs auront accès au microphone et pourront ainsi créer des dictaphones. Les capteurs de la montre pourront servir aux applications, ainsi que Taptic Engine. Les applications pourront créer des vibrations spécifiques. La couronne digitale est bien sûr utilisable dans les applications, par exemple pour changer la température d’un thermostat connecté.

WatchOS 2 sera disponible dès aujourd’hui pour les développeurs. Pas de bêta publique cette fois, mais la mise à jour sera disponible à l’automne, comme le reste des nouveautés du jour. Évidemment, cette mise à jour sera compatible avec toutes les Apple Watch. Heureusement.

C’est fini pour cette keynote Apple 2015, un bon cru ? Qu’en pensez-vous ?

Apple présente Analytics un outil pour les développeurs

Mercredi, Apple a introduit un nouvel outil d’analyse d’app pour tous les développeurs iOS enregistrés. Initialement, la firme à la pomme avait mis cet outil à la disposition des développeurs qui en faisaient la demande. Mais, à partir de maintenant, tout le monde peut obtenir l’outil à travers l’interface d’iTunes Connect.

Importance de l’analyse

Analytics permet aux développeurs de modifier les applications de manière qu’ils obtiennent plus de satisfaction en termes d’augmentation du nombre de téléchargements. En outre, l’analyse peut montrer la direction pour une commercialisation efficace des applications. Les développeurs peuvent obtenir une solution à 360 degrés pour faire que leurs applications soient populaires grâce à des analyses. L‘analyse joue un rôle crucial sur la route vers la popularisation d’une application.

Le rôle de par salves dans la fabrication de l’outil

Initialement, Apple avait un contrôle total sur les données de comportement des clients sur l’App Store, tout en refusant de les partager avec des tiers analystes ou les développeurs.

En Février dernier, Apple a racheté salves, une société d’analyse app, pour faire son propre outil d’analyse d’app. La société a fait cet outil pour Apple, répondant à la demande de longue date des développeurs iOS.

Utilité DE Analytics d’apple

Ces jours-ci, l’outil d’analyse a prouvé être aussi l’un des outils les plus pratiques pour les développeurs et les entreprises qui ont des applications mobiles sur l’App Store. 

Certaines des utilisations remarquables de l’outil d’analyse d’Apple sont les suivants:

Maintenant, il est facile pour les développeurs d’apprendre des choses en ce qui concerne le comportement des clients. Ils peuvent facilement savoir la façon de trouver et de télécharger des applications par des clients. Ils peuvent obtenir et accéder aux données concernant les applications sur les appareils des clients. Par exemple, combien de temps ils utilisent et pour combien de temps ils gardent une application sur leurs appareils, etc. En outre, les développeurs peuvent apprendre le nombre de points de vue sur leur page App Store et la source de trafic Web.

En bref, les développeurs peuvent tirer toutes les données nécessaires concernant le comportement des clients par le biais de ces outils.

Conclusion

Google dispose d’un robuste outil d’analyse pour les deux sites web et applications. Comme le numéro applications iOS est en pleine progression, il était nécessaire pour Apple de venir avec son propre outil d’analyse. Il était en demande depuis un certain temps et, enfin, Apple répond à cette demande en présentant Analytics. Il donnera une meilleure résistance aux développeurs iOS pour rester en avance dans la compétition.

Apple Watch Simulateur

Le 19 novembre 2014, Apple lança enfin son SDK pour l’Apple Watch !
Ni une ni deux, je télécharge le Xcode beta 6.2 avec iOS 8.2 et je commence une nouvelle extension Apple Watch. Juste pour voir ce que ça donne dans le simulateur, je sélectionne la target et je cherche après l’Apple Watch simulateur… il n’y en a pas ! Il faut absolument passer un device sous iOS 8.2 ! Trop tôt ! Avec ce qu’on a vu comme problème depuis la sortie du 8.0 Merci mais je vais attendre.

Bon il ne reste plus qu’une solution : Créer un simulateur pour Apple Watch !

Aussitôt dit, je l’ai fait et le propose à la communauté pour que vous aussi vous puissiez préparer vos prototypes d’applications Apple Watch !

interfacebuilder

Vous le trouverez sur mon compte GitHub : https://github.com/Jean-PhilippeDESCAMPS/AppleWatchSimulateur

N’hésitez pas a donner votre avis dans les commentaires !

Comment résoudre le problème de distribution OTA sur son serveur

Un titre assez long mais que veut dire ce qu’il veut dire…
Depuis la mise à jour en 7.1, iOS n’accepte plus l’installation d’application en OTA si le serveur n’est pas sécurisé en SSL (https).

Alors comment résoudre ce problème sans passer à la caisse auprès de nos hosteurs préférés ?

La méthode dropbox

Je l’ai trouvé sur plusieurs forum et j’ai pu la mettre en place facilement et très rapidement avec mon application.

En gros la méthode est la même que d’habitude mais moins automatique. Pour que le téléchargement fonctionne il faut que le .plist soit sur un serveur sécurisé. Cela se passe en 3 étapes :
– créez votre ipa et votre plist
– upload votre ipa sur votre serveur
– mettre le plist sur dropbox et récupérer le lien publique (ex: )
– remplacer le lien sur votre balise a avec le lien dropbox en changeant « https://www.dropbox.com/s/zu32i0gdczec262/application.plist » par « https://dl.dropboxusercontent.com/s/zu32i0gdczec262/application.plist »

Et vous, quelles solutions avez-vous trouvé ? Dites-le dans les commentaires.

Formation Objective-C et iOS chez Kaligram’

IMG_1836

J’ai dispenser une formation pour une personne souhaitant devenir développeur iOS et de postuler pour ce nouvel emploi. « Avoir été formé est un plus sur mon CV », m’a t’il dit en se présentant le 19 septembre 2013. J’avais 5 jours, pour le former sur le langage Objective-C et sur le développement iOS. Cette formation s’est déroulée sur Lille, dans les locaux de Kaligram’, organisme très populaire pour leur sérieux et leur professionnalisme.

J’ai adapté mon discours afin que le stagiaire ait la meilleur formation qui répond à ses besoins, car en effet il avait déjà, en attendant le jour J, commencer à creuser le nouveau langage, en suivant un livre acheter dans le commerce. La formation lui à apporté des réponses aux questions que son livre ne répondait pas et lui appris de nouvelles choses, car une formation est totalement différent d’un apprentissage dans un bouquin.


Kaligram'Kaligram'-3 photo
 

 


Apple modifie l’algorithme de classement des applications sur l’App Store

IMG_0312

Une chance pour les développeurs facent aux grandes entreprises !

Apple est en train de tester un nouvel algorithme qui prend en compte la notation de l’application, le volume des téléchargements, ainsi que d’autres critères d’engagement. La frime à la pomme serait en train de faire évoluer son algorithme de classement des applications sur son App Store. Désormais entreraient en compte le nombre d’étoiles, le nombre de téléchargements, le temps passé à utiliser l’application et le nombre d’ouvertures. Jusqu’ici, le classement était principalement établi à partir du volume de téléchargements rapporté à une période de temps. Résultat, remontent maintenant dans le classement des applications très bien notées qui n’enregistrent pourtant pas un nombre de téléchargement important. De plus, le délai de mise à jour des classements, initialement d’un quart d’heure, est augmenté à 3 heures. Il sera ainsi plus difficile de gonfler le nombre de téléchargements en utilisant des faux utilisateurs.

La question aujourd’hui est :  est-ce que le petit développeur pourra se retrouver dans le top 10 des applications avec un tel algorithme ?

iBeacons : Une nouvelle façon de se connecter

Dans mon test de la version Beta iOS7, dont j’ai accès grâce à mon compte développeur, j’ai parcouru la documentation du Core Bluetooth. J’ai pu y découvrir l’ajout d’un nouveau système de localisation indoor très précis qui utilise le Bluetooth. Le iBeacons.

Aujourd’hui, pour déterminer sa position, l’iPhone peut s’appuyer sur deux sources différentes : le GPS et le WiFi qui permettent tous les deux de donner une postions approximative à quelques mètres près. Si pour la navigation extérieure cela suffit largement, en revanche pour la navigation intérieure cela ne fonctionne pas à cause des murs trop épais qui ne laisse pas passer les ondes.

On retrouve iBeacons sur une diapo qui est apparu lors de la keynote Apple. Sans plus d’informations.

wwdc2013.ibeacons

Comment ça fonctionne ?

La technologie utilise la connectivité Blutooth Low Energy de l’iPhone qui consomme que très peu d’énergie. Il n’y a donc rien à craindre pour l’autonomie de nos iDevices.

Pour quelle utilisation ?

Comme nous sommes sur une technologie Bluetooth sans appairage, nous pouvons imaginer plein d’utilisation. Ça va de la simple géolocalisation (indoor) à la proposition de pub ou coupon de réduction.

 

Je suppose que beaucoup de grand magasin proposeront quelques mois après la sortie de iOS7 leur borne de paiement iBeacons, car oui, Apple n’a pas choisi le NFC, mais le Bluetooth pour proposer leur solution de paiement sans contacte.