wiki.bedesk-express.com
Base de données des solutions du support technique gratuit BeDesk-Express

Perte de compatibilité entre XCode 12 et Mac OS X 10.11

Pour pouvoir installer correctement et facilement BeDesk Express sur votre Mac, nous utilisons l'environnement de développement fourni par Apple. Il s'agit du fameux XCode (https://developer.apple.com/xcode/).

L'utilisation de XCode pour diffuser un logiciel sur Mac est quasiment incontournable. Chaque développeur doit en outre être enregistré auprès d'Apple et chaque paquet d'installation doit être notarisé (c-à-d, répertorié par Apple). L'utilitaire Gatekeeper empêche en effet l'installation de programme non reconnu par Apple ou dont l'éditeur n'est pas enregistré.

Nous ne pouvons donc pas produire de paquet d'installation sans passer par l'utilisation de XCode.

Nous sommes donc soumis aux conditions imposées par Apple.

Ainsi, avec la version 12 de XCode, Apple a retiré le format SHA-256 de la signature numérique qui permet de vérifier la validité des paquets d'installation, au profit d'un format plus sûr, le format SHA-1. Le format de signature SHA-1 est reconnu à partir de Mac OS X 10.12, mais n'est pas pris en charge par Mac OS X 10.11 et antérieurs. Par conséquent, si vous essayez d'installer un paquet récent sur Mac OS X 10.11 ou plus ancien, vous recevrez un message d'erreur signalant que la signature numérique du paquet ne peut être vérifiée.


Comment contourner ce problème ?

Il n'existe malheureusement aucune solution facile. Apple ne changera pas de stratégie et nous sommes tenus d'utiliser la dernière version de XCode pour pouvoir diffuser notre logiciel.

Le plus simple et sans doute le plus judicieux consiste à utiliser une version de macOS à jour.

Une solution de contournement temporaire pourrait toutefois passer par l'installation manuelle du logiciel et son démarrage via une ligne de commande.

Nous allons expliquer la marche à suivre.


1. Installer d'abord OpenJDK 11

BeDesk Express est un logiciel programmé en Java. C'est ce qui lui permet d'être disponible sur toutes les plateforme (Windows, macOS et Linux).

Le paquet d'installation “facile” comprend une version distribuable de l'OpenJDK 11. C'est pour votre facilité. Mais vous pouvez aussi bien l'installer vous-même à la main.

Pour cela rendez-vous, par exemple, sur https://adoptopenjdk.net/.


2. Récupération de l'archive BeDeskLauncher.jar

Téléchargez le paquet d'installation via le le site officiel https://www.bedesk-express.com/downloads.php.

Enregistrez-le sans l'ouvrir à partir du navigateur.

Ouvrez ensuite une fenêtre du terminal et lancer la commande suivante:

pkgutil --expand-full <FICHIER.PKG> Desktop/extract

Bien sûr, il faut remplacer dans cet commande <FICHIER.PKG> par le chemin complet qui mène au fichier que vous venez de télécharger.

Après exécution de cette commande, vous obtenez un dossier “extract” sur le bureau de votre Mac.

Explorez le contenu de ce dossier, vous trouverez un sous-dossier appelé “Payload”, explorez ce dossier.

Vous y trouverez une copie de l'application BeDesk Express.

Toutefois, les fichiers exécutables de cette application sont aussi signés avec une signature SHA-1.

Cliquez avec le bouton droit et choisissez l'option “Afficher le contenu du paquet”.

Suivez le chemin “Contents” puis “Java”.

Vous y trouverez le fichier “BeDeskLauncher.jar”.

Copiez ce fichier dans un dossier votre choix.

3. Démarrer l'application via une ligne de commande

Via le terminal, vous pouvez démarrer l'application en utilisant l'OpenJDK que vous avez précédemment installé et cette ligne de commande :

java -server \
     -Dswing.aatext=true \
     -Djava.net.preferIPv4Stack=true \
     -XX:CompileCommand=exclude,javax/swing/text/GlyphView,getBreakSpot \
     -jar BeDeskLauncher.jar

Bien sûr, cette ligne de commande doit être lancée à partir du dossier où se trouve le fichier BeDeskLauncher.jar.

Si vous voulez, vous pouvez aussi remplacer le nom du fichier par le chemin complet. Cette commande pourra alors être lancée à partir d'un autre dossier.

mac_os_x_bugs/xcode12_and_osx1011_pkg_signature.txt · Dernière modification: 2021/01/05 09:58 par admin

Retour
Table des matires