错误消息'_BSMachError:(os/kern)无效功能(20)'

Log*_*Rex 170 objective-c ios xcode7

请注意,此错误消息的级别相当低,因此在不同的方案中出现不同的原因.如果您的某个场景未在下面的其中一个答案中提及,请考虑添加您的情况,因此这可能是引发此错误消息的各种情况的核心答案.

编辑2015年11月10日另外请注意,我将自己的答案标记为答案,但这是在其他人发布之前.我想没有人真的应该被标记为答案,因为正如我们现在看到的那样......这个错误不仅仅有一个答案,因为它的级别太低了.

我在跑

  • iOS 9.0模拟器
  • XCode 7.0

昨天一切都很好.

今天,在旋转相关的东西上做了大量工作后,当我在模拟器中运行应用程序并旋转它时,我开始在控制台输出中收到此错误.

_BSMachError:(os/kern)无效功能(20)

_BSMachError:(os/kern)无效名称(15)

此问题的屏幕截图 - 我已经清除了我的构建文件夹, - 我已经清理了派生数据文件夹, - 我已经重置了模拟器.

我正在和我一起工作

  • UIViewController viewWillLayoutSubviews
  • UIViewController viewWillTransitionToSize:...

我还检查了IB中属性检查器的各种"绘图"设置.

我还在UIView上创建了一个实用程序类,在那里我创建了一堆创建的方法CGRect并帮助我为视图分配框架.

根视图控制器

根视图控制器设置

bla*_*nia 143

基于https://forums.developer.apple.com/thread/15683:

将" 本地化本地开发区域 " 更改info.plist为美国而不是en.

更新:然后您可以还原这些更改.

  • 我真的不喜欢这样的答案.因为它没有解释任何事情.它是XCode上的一个错误吗?是我们的代码定位错了吗?或者是什么? (29认同)
  • 它对我也有用.然后我将设置恢复为"en",错误似乎没有回来. (3认同)

小智 66

我还遇到了_BSMachError控制台错误,同时深入链接到iOS 9上的设置应用程序UIAlertController.A dispatch_async解决了我的问题:

[aAlertVC addAction:[UIAlertAction actionWithTitle:@"Settings" style:UIAlertActionStyleDefault handler:^(UIAlertAction * action) {
    dispatch_async(dispatch_get_main_queue(), ^{
        [[UIApplication sharedApplication] openURL:[NSURL URLWithString:UIApplicationOpenSettingsURLString]];
    });
}]];
Run Code Online (Sandbox Code Playgroud)

  • 这为我删除了控制台错误,但我试图修复的主要锁定错误同时发生没有帮助 (2认同)

Log*_*Rex 31

好吧,我没有把它完全固定下来,但这会让你99%的方式.我正在使用来自ESRI的第三方地图控件,而它的某些内容与"属性"检查器中的某些绘图设置不同.我没有单独尝试每个设置来查看它是什么设置,但当我关闭所有设置时(在红色框中),一切都像魅力一样,我退出控制台上面的错误消息.如果我有时间将其设置为精确设置或设置组合,我将更新答案.

在此输入图像描述


agr*_*986 14

这很疯狂,但对我来说,解决方案只是删除发生错误的文件中的所有断点.

至于原因?我想我不小心点了一个快捷键来在当前行创建一个断点.因为那是无意的,我再次点击相同的快捷键删除它.

哦亲爱的XCode ......


Mur*_*gal 11

我得到了同样的错误......

_BSMachError: (os/kern) invalid capability (20)
_BSMachError: (os/kern) invalid name (15)
Run Code Online (Sandbox Code Playgroud)

我从一个调用openURL() UIAlertAction

alert.addAction(UIAlertAction(title: actionTitle, style: .Default) {
    UIApplication.shared.openURL(url)
 }
Run Code Online (Sandbox Code Playgroud)

推迟执行该块直到下一个运行循环修复它...

alert.addAction(UIAlertAction(title: actionTitle, style: .Default) {
    OperationQueue.main.addOperation {UIApplication.shared.openURL(url)}
 }
Run Code Online (Sandbox Code Playgroud)


小智 9

我在提供新数据时得到以下信息:

> _BSMachError: (os/kern) invalid capability (20)
> _BSMachError: (os/kern) invalid name (15)
Run Code Online (Sandbox Code Playgroud)

使用按钮提供新数据时发生错误.An NSTimer用于在从performSegueWithIdentifier操作返回时刷新和更新数据.计时器被激活,然后在返回时使用后立即失效.的MSMachError-除去计时器时并停止(void)viewWillAppear:(BOOL)animated(void)viewDidAppear:(BOOL)animated被用来执行相同的功能.此错误从升级到Xcode 7开始.


Jay*_*bey 6

我得到了这个问题,通过改变的固定值的Localization native development region关键United Kingdom [或任何特定区域]的默认值en在本info.plist项目的.

  1. 选择 Project Navigator
  2. 找到info.plistProjectNameTests文件夹中的文件.
  3. 更改Localization native development region key为任何特定区域的值,例如.英国

第1步和第2步

第3步