web-dev-qa-db-fra.com

Symbole introuvable: _OBJC_IVAR _ $ _ NSScroller._action dans High Sierra

Une application qui fonctionnait sur les versions précédentes de MacOS échoue sur High Sierra avec le message suivant:

dyld: Symbole introuvable: _OBJC_IVAR _ $ _ NSScroller._action Référencé depuis: Attendu dans: /System/Library/Frameworks/AppKit.framework/Versions/C/AppKit

Quel changement pourrait conduire à ce problème? (Je ne suis pas expert en développement MacOS) Je soupçonne que la commande otool pourrait aider à identifier les changements liés à ce problème mais n'a pas élaboré les bons paramètres pour cela encore.

Vérification de la documentation AppKit https://developer.Apple.com/documentation/appkit/deprecated_symbols il indique que NSDrawer est obsolète, est-ce lié?

NSDrawer [obsolète] Un élément d'interface utilisateur qui contient et affiche du texte, du défilement et des vues de navigateur, en plus d'autres sous-classes de vues.

10
Malcolm McCaffery

J'ai dû télécharger le x-code (mettre à jour le x-code) pour résoudre ce problème.

Exécution de cette commande Sudo xcode-select -switch /Library/Developer/CommandLineTools/ ne semblait pas fonctionner pour moi. Mais essayez de le faire aussi.

12
prolink007

J'obtenais cette erreur car le répertoire de développeur actif n'était pas défini après la mise à niveau de la version MacOS. Ce répertoire contrôle les outils utilisés pour les outils de ligne de commande Xcode (par exemple, xcodebuild) ainsi que les commandes de développement BSD (telles que cc et make).

Faire ce qui suit a résolu le problème pour moi:

Sudo xcode-select -switch /Library/Developer/CommandLineTools/
7
approximatehack