Tutoriel Android : Changer la limite d’envoi de sms grâce à ADB

Par défaut, le système Android met une limite au nombre de sms que peut envoyer une application de manière automatique.

Et c’est plutôt normal, car cela évite que des applis se mettent à envoyer du spam sms à l’insu de l’utilisateur.

Cependant, il y a des situations où l’on aimerai bien pouvoir changer ce comportement, de préférence sans avoir à « rooter » le téléphone…

C’est là qu’intervient ADB : Android Debug Bridge.

ADB est un ensemble de commandes en mode texte qui permettent de communiquer avec un device Android. ADB est disponible pour MS Windows, Apple MacOS et GNU Linux.

Attention, cela nécessite que votre device Android soit directement branché à l’ordinateur qui exécute ADB.

Installation d’ADB

Là, je ne vais détailler que la procédure que Mac, car je n’ai pas testé sous Windows et Linux. Installation est d’ailleurs un bien grand mot, puisqu’il suffit de :

Lancer ADB

Branchez votre device (déverrouillé) à votre ordinateur, puis dans le dossier où se trouvent les outils ADB, lancez la commande : « adb device« .

Cette commande lance le daemon adb. Si votre device n’a jamais été utilisé pour faire du développement Android, une fenêtre demandant d’autoriser l’usb debuging va s’ouvrir. C’est normal, dites « ok ».

Si tout s’est bien passé, vous pouvez maintenant lancer un shell sur votre device avec la commande « adb shell » (vous remarquerez que le shell est lancé en root 🙂 ):

Et pour mes sms alors ?

Comme je l’ai dit, depuis sa versions 5 (Lollipop), Android limite le nombre de sms envoyé à des destinataires différents à 30 sms maximum en 30 minutes.

Au delà, une fenêtre de confirmation d’envoi s’ouvre pour chaque nouveau sms.

Mais cela se règle avec 2 lignes de commandes ADB. Par exemple, si mon application doit pouvoir envoyer 50 sms en 15 minutes, je vais changer les clés « sms_outgoing_check_max_count » et « sms_outgoing_check-interval_ms » :

Bon, dans ce cas là, j’aurai pu me passer de changer la limite de temps, mais c’était pour vous montrer comment faire. Attention, le temps est exprimé en millisecondes.

Il faut rebooter le device pour que les paramètres soient pris en compte.

Et pour connaitre les valeurs des clés sur le divise, c’est la commande « settings list global« .

C’est évident mais je précise, il faut taper « exit » pour sortir du shell…

Bien entendu, ce n’est pas la seule chose que l’on peut faire avec ADB ! Pour vous en rendre compte, jetez un oeil ici : https://adbinstaller.com/commands/

Voilà pour cette introduction à ADB, comme quoi il n’y pas que iOS dans la (ma) vie…

Si la mise en page de mes articles vous paraît changeante ces derniers temps, c’est parce qu’il faut que je m’habitue à Gutenberg 😦 …

Et pour toute question / suggestions, comme d’habitude, commentez !

Tutoriel Swift : des animations faciles avec Lottie !

IphoneX Lottie Snowman

Je ne sais pas si vous vous êtres déjà frotté à la programmation d’animations pour iOS ou mac OS, mais moi je trouve cela passablement compliqué et rébarbatif !

 

Heureusement, Airbnb à eu la bonne idée de mettre à notre disposition le framework Lottie !

Il s’agit ni plus ni moins que d’une méthode simple pour importer directement un fichier d’animation créé avec Adobe After Effects dans notre application Swift !

Comment ? Voyons cela…

Lire la suite

Tutoriel Swift : Initiation aux tests unitaires

skills-3371153_1920

« Tester, c’est douter ! », oui mais souvent, douter évite de grosses boulettes !!

C’est pour cela que j’ai décidé de publier une série de tutoriels sur les tests unitaires en programmation Swift.

Mais voyons en premier ce qu’est un test unitaire et quel est son but !

Lire la suite

Programmation Swift : iOS Developer Notes For Professionals

ios Dev Pros

Voici mon nouveau livre de chevet : iOS Developer Notes for Professionals !

Je crois que tout le langage Swift est abordé dans ce livre ! Cela va de la création toute simple d’une UIView au parsing de JSON, tout en passant par l’usage de des frameworks les plus utilisés (Fastlane…) et des designs paterns (MVC, MVVM…).

Bref, le top du top pour le développeur Swift !

Bon, finalement, le lire avant de s’endormir n’est pas forcément la meilleure idée, mais c’est le genre de livre à garder impérativement sous la main toute la journée de développement !

En plus, il est gratuit !

A télécharger (sans modération) ici :

iosDeveloperBook

Mise à jour de l’application mobile « Mes Animaux et Moi » !

rubber-stamp-1560308_1280

6 mois sans updates, c’est vrai que l’application « mes animaux et moi » prenait un peu la poussière…

C’est maintenant chose faite !

Screenshot1FRiphoneX

Pour cette fois, pas de mise nouvelles fonctionnalités (mais promis, je réserve une surprise pour la prochaine update…).

L’application est maintenant optimisée pour les nouveaux iPhones XR et XS, ainsi que pour le nouvel iPad Pro.

Quelques corrections de bugs mineurs, mais surtout un gros refactoring du code, un passage en Swift 4.2 et une migration de la base de donnée cloud sur Firebase 5.

Tout cela apporte une diminution de la taille de l’application, tout en améliorant ses performances globales sur des devices relativement anciens.

Bref, ce n’est pas forcément visible sur l’UI, mais un gros travail d’optimisation à été réalisé sur l’appli. Elle est prête à affronter 2019 et ses futures mises à jour !

Retrouvez « Mes animaux et moi » sur l’App Store :

download_on_the_app_store_badge_us-uk_135x40

Tutoriel Swift : mise à jour Firebase 5

Firebase 5

Google à récemment mis à jour son API pour l’utilisation de Firebase… et a cassé la compatibilité avec les anciennes versions… (:

Pas grave, c’est l’occasion de faire une petite update de l’application mobile Mes Animaux et Moi !

Cet article n’est pas un tutoriel à proprement parler, mais plutôt un mémo pour vous montrer les changements nécessaires à la partie du code s’occupant de l’enregistrement des données et des photos.

Voici donc l’ancien code :

firebase4-Storage

et le nouveau :

firebase 5-Storage.png

Les changements se situent au niveau de la méthode « storageRef« .

Attention, je précise (à toutes fins utiles…) qu’il s’agit d’extraits de code, donc vous pouvez vous en inspirer mais pas les utiliser tels quels !