Xcode-Mac App-Bootstrap проверить ошибку при запуске
Я создаю приложение C++ для Mac с помощью Xcode. Я делал это раньше без каких-либо проблем, но я начал новый проект несколько недель назад, и у этого есть проблемы.
Сообщение о запуске
Когда я запускаю приложение, это сообщение появляется в консоли после вызова SDL_GL_CreateContext
bootstrap_check_in(): (os/kern) unknown error code (44c)
Я никогда не видел этого раньше и не знаю, что это значит. Приложение все еще запускается, хотя.
Открытие всплывающих окон
osascript больше не работает. Когда эта команда будет вызывается,
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'
В консоли появится следующее сообщение:
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
Я исключил трассировку стека. Комментарий, если вы хотите, чтобы я включил трассировку стека.
Случайное сообщение
Иногда в консоли появляется еще одно сообщение.
2017-11-26 11:09:14.994459+1030 Buttons[28532:1663094] [User Defaults] Couldn't read values in CFPrefsPlistSource<0x6000000e6b80> (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
Пути
Вызовы SDL_GetPrefPath дают различные пути в этом приложении.
Это приложение
SDL_GetPrefPath("company", "my app") -> "/Users/indikernick/Library/Containers/company.my-app/Data/Library/Application Support/company/my app/"
Еще одно приложение, которое не сломано
SDL_GetPrefPath("company", "my app") -> "/Users/indikernick/Library/Application Support/company/my app/"
Вот и все
Я почти уверен. все эти проблемы взаимосвязаны. Проект находится на Github , так что если вы видели эту проблему, прежде чем вы можете проверить настройки проекта. Если это имеет значение, я использую Xcode 9.0 и MacOS 10.13.1
Заранее благодарю вас за любую помощь.
1 ответ:
Похоже, что ваше приложение (каким-то образом) изолировано. Это видно из пути, возвращаемого SDL_GetPrefPath, который начинается с
~/Library/Containers, и из "случайного" сообщения, которое ясно гласит:Доступ к настройкам вне контейнера приложения требует пользователь-предпочтения-чтение или файл-чтение-доступ к песочнице данных
Всплывающее сообщение об ошибке также очень подозрительно: похоже, что ваше приложение не имеет права доступа к какому-либо системному ресурсу.
Вы должны проверьте в xcode, включена ли песочница для вашего приложения (например, проверьте, вызван ли файл списка свойств.права показаны в навигаторе проекта).
Подробнее о песочнице: https://developer.apple.com/library/content/documentation/Security/Conceptual/AppSandboxDesignGuide/AppSandboxInDepth/AppSandboxInDepth.html
Comments