Xcode – Mac App – Vérification Bootstrap en erreur au lancement

Je crée une application Mac C ++ avec Xcode. Je l’ai déjà fait auparavant sans problème, mais j’ai démarré un nouveau projet il y a quelques semaines et celui-ci a des problèmes.

Message au lancement

Lorsque je lance l’application, ce message apparaît dans la console après l’appel de SDL_GL_CreateContext

 bootstrap_check_in(): (os/kern) unknown error code (44c) 

Je n’ai jamais vu cela auparavant et je ne sais pas ce que cela signifie. L’application est toujours lancée.

Ouverture des popups

osascript ne fonctionne plus. Lorsque cette commande est appelée,

 osascript -e 'try' -e 'POSIX path of ( choose file name with prompt "Save screenshot" default name "Screenshot.png" )' -e 'on error number -128' -e 'end try' 

ce message apparaît dans la console:

 2017-11-25 10:50:19.837159+1030 osascript[7910:487965] +[NSXPCSharedListener endpointForReply:withListenerName:]: an error occurred while attempting to obtain endpoint for listener 'com.apple.view-bridge': Connection interrupted 2017-11-25 10:50:19.838056+1030 osascript[7910:487963] *** Assertion failure in +[NSXPCSharedListener connectionForListenerNamed:fromServiceNamed:], /BuildRoot/Library/Caches/com.apple.xbs/Sources/ViewBridge/ViewBridge-341.1/NSXPCSharedListener.m:421 2017-11-25 10:50:19.838724+1030 osascript[7910:487963] *** Assertion failure in -[NSVBSavePanel viewWillInvalidate:], /BuildRoot/Library/Caches/com.apple.xbs/Sources/AppKit/AppKit-1561.10.101/Nav.subproj/OpenAndSavePanelRemote/NSVBOpenAndSavePanels.m:387 2017-11-25 10:50:19.879032+1030 osascript[7910:487963] -[NSVBSavePanel init] caught non-fatal NSInternalInconsistencyException 'bridge absent' with backtrace 

J’ai exclu la trace de la stack. Commentez si vous voulez que j’inclus la trace de la stack.

Message aléatoire

Parfois, un autre message apparaît dans la console.

 2017-11-26 11:09:14.994459+1030 Buttons[28532:1663094] [User Defaults] Couldn't read values in CFPrefsPlistSource (Domain: com.apple.PowerManagement, User: kCFPreferencesAnyUser, ByHost: Yes, Container: (null), Contents Need Refresh: Yes): accessing preferences outside an application's container requires user-preference-read or file-read-data sandbox access, detaching from cfprefsd 

Les chemins

Les appels à SDL_GetPrefPath des chemins différents dans cette application.

Cette application

 SDL_GetPrefPath("company", "my app") -> "/Users/indikernick/Library/Containers/company.my-app/Data/Library/Application Support/company/my app/" 

Une autre application qui n’est pas cassée

 SDL_GetPrefPath("company", "my app") -> "/Users/indikernick/Library/Application Support/company/my app/" 

C’est tout

Je suis à peu près sûr que tous ces problèmes sont liés. Le projet est sur Github, donc si vous avez déjà vu ce problème, vous pouvez vérifier les parameters du projet. Si cela compte, j’utilise Xcode 9.0 et MacOS 10.13.1.

Merci d’avance pour toute aide.

Il semble que votre application soit (en quelque sorte) en mode bac à sable. Ceci est vu à partir du chemin renvoyé par SDL_GetPrefPath, qui commence par ~/Library/Containers , et à partir du message ‘random’, qui indique clairement:

l’access aux préférences en dehors du conteneur d’une application nécessite un access au bac à sable selon la préférence de l’utilisateur ou la lecture du fichier

Le message d’erreur contextuel est également très suspect: il semblerait que votre application ne soit pas autorisée à accéder à une ressource système.

Vous devez vérifier dans xcode si le sandboxing est activé pour votre application (c.-à-d. Vérifier si un fichier de liste de propriétés appelé .entitlements est affiché dans le navigateur de projet).

Plus d’informations sur le sandboxing: https://developer.apple.com/library/content/documentation/Security/Conceptual/AppSandboxDesignGuide/AppSandboxInDepth/AppSandboxInDepth.html