Les bloqueurs de pubs et la limitation artificielle d’Apple au 64 bits

Apple, avec iOS 9, a proposé une API pour bloquer du contenu, et – logiquement – c’est le blocage de la publicité qui a le plus de succès. Je n’ai pas la prétention d’avoir un avis éclairé sur le sujet, j’ai vécu un moment de la pub sur un site Internet (ce n’est plus le cas) et comme beaucoup de monde, la publicité m’irrite parfois. Ce qui m’intéresse ici, c’est une limitation d’Apple.

Selon Apple, le bloqueur de contenu nécessite un CPU 64 bits et les applications de blocage ne peuvent être distribuées que pour les puces 64 bits. Adieu veaux, vaches, cochons iPad 4, iPhone 5, etc. En réalité, c’est partiellement faux, la limitation est artificielle. J’ai testé avec un bloqueur open source (BlockParty) et ça fonctionne sur un iPhone 5. Pas sur un iPad 3, par contre, donc il y a bien une seconde limitation (je suppose qu’il existe la même sur iPhone 4S).

Bonne nouvelle, depuis Xcode 7, plus besoin d’un compte développeur pour compiler manuellement.

Première chose, installer Xcode 7. Ensuite, Préférences -> Compte. Il suffit d’ajouter votre Apple ID.

Xcode

Xcode

Ensuite, vous copier le projet sur votre disque dur avec la commande suivante et vous l’ouvrez.

git clone https://github.com/krishkumar/BlockParty

Une fois le projet ouvert, regardez sous Target. Deux programmes sont présents, il faut aller sélectionner (dans General) votre identifiant dans Team et mettre un bundle identifier unique, par exemple com.xxx.apps.BlockParty. Ensuite, cliquez sur Fix Issue. Il faut effectuer la même manipulation pour les deux cibles, avec ça dans la seconde : com.xxx.apps.BlockParty.RediffBlock (xxx doit être identique dans les deux).

EDIT : vu qu’on m’a posé la question, il est possible de mettre une liste plus efficace. Téléchargez ça, copiez la liste qui est là et générez un fichier JSON. Il faut ensuite le copier dans le dossier RediffBlock sous le nom blockerList.json.

Xcode

Xcode

Enfin, sélectionnez votre appareil dans la barre du haut et cliquez simplement sur le bouton Play. Normalement, le programme devrait se compiler et s’installer sur l’appareil.

Du côté de l’iPhone, il faut se rendre dans Réglages -> Général -> Profil et se fier à votre identifiant.
Enfin, il faut activer le bloqueur, dans les réglages de Safari.

Sur un iPhone 5

Sur un iPhone 5

Avant

Avant


Après

Après

Au passage, le même bloqueur de pubs fonctionne dans Safari 9 sous El Capitan (et sûrement Yosemite), les instructions sont sur GitHub.