Подтвердить что ты не робот

_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 (только один одинокий индонезийский твит). Я также не могу понять, почему приложение не извлекает твиты на устройстве.

4b9b3361

Ответ 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;