_BSMachError при запуске приложения Stanash CS193p Smashtag
Я загрузил демонстрационное приложение Smasthag с сайта . Проект строит отлично (после небольших изменений в Twitter, TwitterRequest и т.д. Классы, потому что я использую последний Xcode 7b4) и отлично работает на симуляторе (мне также пришлось добавить ключ NSAppTransportSecurity
в info.plist
), но не на устройстве - он не получает твитов. Я тестировал его как на iPhone 6, так и на iOS 9 Public Beta и iPad 2 с iOS 8.4. Более того, когда приложение запускается в симуляторе, и я меняю хештайг на поиск, весь tableView перезагружается с новыми твитами, но в консоли я получаю следующее:
2015-07-23 03:24:15.560 Smashtag[25991:4344251] _BSMachError: (os/kern) invalid capability (20)
2015-07-23 03:24:15.560 Smashtag[25991:4344251] _BSMachError: (os/kern) invalid name (15)
Приложение все еще работает нормально, но эта ошибка меня пугает. Я ничего не мог поделать в этом _BSMachError в google (только один одинокий индонезийский твит). Я также не могу понять, почему приложение не извлекает твиты на устройстве.
Ответы
Ответ 1
Чтобы исправить эту проблему, вы должны установить локаль в en_US.
Измените личное расширение asTwitterDate в Tweet.swift на следующее, чтобы устранить проблему на устройствах, отличных от en_US.
...
private extension String {
var asTwitterDate: NSDate? {
get {
let dateFormatter = NSDateFormatter()
dateFormatter.dateFormat = "EEE MMM dd HH:mm:ss Z yyyy"
dateFormatter.locale = NSLocale(localeIdentifier: "en_US")
let createdAt = dateFormatter.dateFromString(self)
return createdAt
}
}
}
После этого ваше приложение должно загрузить и показать все данные правильно.
Ответ 2
Кажется, это ошибка IOS 9 Beta. Это определенно связано с представлением и увольнением UIKeyboard (системного). И при этом это не происходит все время.
Это безобидно, просто раздражает. Вероятно, ошибка будет решена в следующей бета-версии, поскольку она находится в основном системном объекте.
Ответ 3
Вам нужно будет добавить NSAppTransportSecurity в качестве словаря, а первым ребенком должен быть bool с именем NSAllowsArbitraryLoads, установленным в YES. Обратите внимание, что это исключает функцию NSAppTransportSecurity.
![введите описание изображения здесь]()
См. здесь примечания по настройке безопасности в приложении. Обратите внимание, что эта документация является совершенно новой и имеет ошибку в ней, если вы хотите полностью отказаться. Ошибка заключается в том, что ключ NSAllowsArbitraryLoads не отображается как прямой дочерний элемент NSAppTransportSecurity.
В идеале, вам нужно установить соответствующие домены и настройки безопасности.
https://developer.apple.com/library/prerelease/ios/technotes/App-Transport-Security-Technote/index.html
Ответ 4
Я встречаюсь с той же проблемой, так как я переключу клавиатуру на системную клавиатуру на самоопределяемую клавиатуру. Однако это не влияет на мое приложение.
Ответ 5
Если есть какой-либо непрозрачный атрибут для любых компонентов в этом элементе управления, просто удалите его и используйте скрытый атрибут.
Пример:
//invisibleTextView.alpha = 0.0f;
invisibleTextView.hidden = YES;