Accéder au contenu principal

Articles

Affichage des articles du septembre, 2020

IOS14 et Bonjour qui ne fonctionne pas.

 J'utilise Bonjour dans certaines de mes application pour échanger des données entre appareils se trouvant sur le même réseau local.  Depuis IOS14, vous devez déclarer dans info.plist : <key> NSLocalNetworkUsageDescription </key> <string> L'accès au réseau local est obligatoire pour.... </string> <key> NSBonjourServices </key> <array> <string> _http._tcp </string> </array>  La clef NSLocalNetworkUsageDescription est obligatoire pour toute utilisation du réseau local (en dehors des produits Apple comme AirDrop, AirPrint, etc.). C'est la même chose que l'accès à la caméra ou au micro, vous devez dire pourquoi vous désirez cet accès dans votre application. La clef NSBonjourServices est spécifique pour le protocole Bonjour, elle contient la liste des services que vous partagez avec Bonjour. Dans l'exemple, il s'agit d'un serveur web (http).

Tiret insécable

 Ecrivant un livre sur CoreAnimation en Objective-C et en Swift, j'écris souvent "Objective-C".  Mais je ne souhaite pas que la césure du texte se face avec le C, il me faut donc un tiret insécable. Malheureusement il n'y a pas de tiret insécable sur le clavier du Mac, il faut donc utiliser le caractère Unicode U+2011. Mais le clavier du Mac ne comprends pas non plus par défaut de possibilité d'ajouter un caractère par son code Unicode.  Il faut donc aller dans les réglages d'Apple, dans les réglages du clavier, dans les méthodes de saisie et ajouter le clavier "Universel (Unicode Hex)". Ensuite, lorsque l'on a besoin d'un caractère Unicode, on change de clavier et on utilise la touche Option + le code en hexadécimal. Pour accélérer le changement d'un clavier à l'autre, toujours dans les réglages du clavier, vous pouvez activer les raccourcis clavier. Bon, c'était encore trop long, alors j'ai mis un remplacement automatique da

Bug IOS14 avec UITableViewCell contenant des objets interactifs

 J'ai eu la désagréable surprise de voir que lorsque je faisais une mise à jour pour IOS14, mon système de configuration, une UITable pouvant contenir des UISwitch, UIButton, UISlider, etc... ne fonctionne plus. Tous les gadgets interactif à l'intérieur d'une cellule ne sont plus interactif ! Pour que tout revienne à la normal, il faut ajouter un  cell. contentView . userInteractionEnabled = NO ; avant de retourner la cellule dans la fonction  -( UITableViewCell *) tableView :( UITableView *)tableView cellForRowAtIndexPath :( NSIndexPath *)indexPath C'est tout, mais ce fût dur à trouver. C'est même très bizarre d'enlever l'interactivité de la vue conteneur pour mettre l'interactivité aux enfants de ce conteneur. Heureusement, il n'y a pas besoin de faire les mises à jours, le problème ne se pose qu'avec les applications compilées avec le SDK d'iPadOS 14.