_BSMachError XCode 7 Beta
Я получаю следующую ошибку, когда я запускаю свой код в Xcode7 с помощью Swift2 после представления контроллера вида через push-сегмент:
_BSMachError: (os/kern) invalid capability (20)
_BSMachError: (os/kern) invalid name (15)
Другие статьи SO не имели разрешения, знает ли кто-нибудь об этой проблеме?
Ответы
Ответ 1
Хотя эта проблема, похоже, сохраняется как ошибка и, скорее всего, будет исправлена, она проистекает из новой безопасности приложений > , которая была реализована в iOS 9.
Если ваше приложение извлекает данные с веб-сервера, чтобы заполнить View Viewer, который вы будете представлять, вы можете разрешить эти ошибки, подтвердив/предоставив доступ к конкретным сайтам (сайтам) вы тянете.
Чтобы решить эту проблему, вы добавите следующее в файл приложения .plist:
-
Вы можете захотеть изменить свой словарь исключений ATS в соответствии с вашими потребностями
<key>NSAppTransportSecurity</key>
<dict>
<key>NSExceptionDomains</key>
<dict>
<key>testdomain.com</key>
<dict>
<key>NSIncludesSubdomains</key>
<false/>
<key>NSExceptionAllowsInsecureHTTPLoads</key>
<false/>
<key>NSExceptionRequiresForwardSecrecy</key>
<true/>
<key>NSExceptionMinimumTLSVersion</key>
<string>TLSv1.2</string>
<key>NSThirdPartyExceptionAllowsInsecureHTTPLoads</key>
<false/>
<key>NSThirdPartyExceptionRequiresForwardSecrecy</key>
<true/>
<key>NSThirdPartyExceptionMinimumTLSVersion</key>
<string>TLSv1.2</string>
<key>NSRequiresCertificateTransparency</key>
<false/>
</dict>
</dict>
</dict>
Подробнее об этом решении можно найти здесь или здесь
Документация Apple для Безопасность приложений в приложении тоже стоит прочитать.
Ответ 2
У меня были те же два сообщения об ошибках. В моем случае ошибки появлялись, когда я вызывал [[UIApplication sharedApplication] openURL:url]
после того, как пользователь выбрал кнопку в открытом UIAlertController
. Я предположил, что предупреждение пытается закрыть в то же время, когда я пытался открыть URL-адрес. Итак, я ввел небольшую задержку и сообщение об ошибке исчезло.
dispatch_after(0.2, dispatch_get_main_queue(), ^{
[[UIApplication sharedApplication] openURL:url];
});
Не уверен, что это помогает с вашей конкретной проблемой, но я подумал, что может быть полезно поделиться.
Ответ 3
Измените локальный язык области разработки локализации в вашем файле info.plist из en в Соединенные Штаты.
Ответ 4
Преждевременное отключение диспетчера просмотров может привести к этому.
[self dismissViewControllerAnimated:YES completion:NULL];
//<do something..>
Это вызывает _BSMachErrors
против
//<do something..>
[self dismissViewControllerAnimated:YES completion:NULL];
Теперь _BSMachError отсутствует.
Ответ 5
Я получил эти ошибки, когда я использовал клавиатуру. Согласно этой заметке в Apple Docs, это несколько ожидалось.
http://cocoadocs.org/docsets/Keyboard/0.3.0/
Ответ 6
Я так делаю
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0)) { () -> Void in
AnswersDataServerEntity.saveSingleDocoment(doc)
}
Ответ 7
Наличие этого утверждения прямо под кнопкой IBAction вызывало проблему.
self.view.endEditing(true)
Проблема была исправлена в Swift 3, комментируя приведенную выше строку и обрабатывая редактирование конца по-другому или также может быть исправлена добавление указанной строки после всего другого кода в IBAction.
Ответ 8
У меня была эта проблема во время отладки и она исчезла, когда я удалил точку останова в ответе на изменение размера представления.