_BSMachError运行斯坦福的CS193p Smashtag应用程序

我从课程网站下载了Smasthag演示程序。 项目build设很好(在Twitter,TwitterRequest等类的小改动,因为我使用最新的Xcode 7b4),并在模拟器上工作正常(我也必须添加NSAppTransportSecurity键到info.plist ),但不是在设备上 – 它doesn不要取推文。 我使用iOS 9 Public Beta和iOS 8使用iPad 2对iPhone 6进行了testing。 此外,当应用程序在模拟器中运行,我改变hashtagsearch,整个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罚款。 我也不明白为什么应用程序不会在设备上获取推文。

要解决这个问题,你应该把locale设置为en_US。

将Tweet.swift中的专用扩展名asTwitterDate更改为以下内容,以解决非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 } } } 

在此之后你的应用程序应该加载并正确显示所有数据。

这似乎是一个iOS 9testing版的错误。 这绝对是关系到UIKeyboard(系统之一)的呈现和解雇。 而且,这一直不会发生。

这是无害的,只是烦人的。 自从在一个核心系统对象之后,这个bug可能会在下一个testing版中得到解决。

你将需要添加NSAppTransportSecurity作为一个字典,因为第一个孩子应该是一个名为NSAllowsArbitraryLoads设置为YES的布尔。 请注意,这select了NSAppTransportSecurityfunction。

在这里输入图像说明

请参阅此处的App Transport Securityconfiguration说明。 请注意,如果您想完全退出,则此文档是全新的,并且存在错误。 错误是NSAllowsArbitraryLoads键不显示为NSAppTransportSecurity的直接子节点。

理想情况下,你应该做的是设置合适的白名单域和安全设置。

https://developer.apple.com/library/prerelease/ios/technotes/App-Transport-Security-Technote/index.html

自从我将键盘从系统键盘切换到自定义键盘以来,我遇到了同样的问题。但是,它不会影响我的应用程序的运行。

如果该控件中的任何组件有任何不透明的属性,只需删除它并使用隐藏的属性。

例:

 //invisibleTextView.alpha = 0.0f; invisibleTextView.hidden = YES;