_BSMachError: (os/kern) invalid capability (20) _BSMachError: (os/kern) invalid name (15) 问题的解决

  在项目中突然遇到一个问题,也就是_BSMachError: (os/kern) invalid capability (20) _BSMachError: (os/kern) invalid name (15)

  虽然该问题对界面展示以及数据保存都没有影响,但是处于本人对于提示错误的洁癖,对于该问题进行了调研.

  错误出现的情景:

- (void)showAlterView {
UIAlertController *alertController = [UIAlertController alertControllerWithTitle:@"提示" message:@"是否确定放弃本次编辑" preferredStyle:UIAlertControllerStyleAlert];
UIAlertAction *cancelAction = [UIAlertAction actionWithTitle:@"取消" style:UIAlertActionStyleCancel handler:^(UIAlertAction *_Nonnull action) {
}];

UIAlertAction *otherAction = [UIAlertAction actionWithTitle:@"确定" style:UIAlertActionStyleDefault handler:^(UIAlertAction *action) {
[self.navigationController popViewControllerAnimated:YES];
}];
[alertController addAction:cancelAction];
[alertController addAction:otherAction];
[self presentViewController:alertController animated:YES completion:nil];
}

点击确定后返回上一个控制器时会出现这个错误

  解决办法:

- (void)showAlterView {

UIAlertController *alertController = [UIAlertController alertControllerWithTitle:@"提示" message:@"是否确定放弃本次编辑" preferredStyle:UIAlertControllerStyleAlert];

UIAlertAction *cancelAction = [UIAlertAction actionWithTitle:@"取消" style:UIAlertActionStyleCancel handler:^(UIAlertAction *_Nonnull action) {

}];

UIAlertAction *otherAction = [UIAlertAction actionWithTitle:@"确定" style:UIAlertActionStyleDefault handler:^(UIAlertAction *action) {

dispatch_async(dispatch_get_main_queue(), ^{

self.introduceTextView.delegate = nil;

[[NSNotificationCenter defaultCenter] removeObserver:self.introduceTextView];

[self.navigationController popViewControllerAnimated:YES];

});

}];

[alertController addAction:cancelAction];

[alertController addAction:otherAction];

[self presentViewController:alertController animated:YES completion:nil];

}

即将alterAction事件放到主线程中去执行.

ps:本人由于精力和时间有限,并没有对该问题进行深入研究,希望同行大神有什么理解还有深入研究,可以告知小女,小女在此谢过各位大牛.

时间: 2024-10-15 09:56:15

_BSMachError: (os/kern) invalid capability (20) _BSMachError: (os/kern) invalid name (15) 问题的解决的相关文章

iOS _BSMachError: (os/kern) invalid capability (20)

_BSMachError: (os/kern) invalid capability (20) 解决办法:将info.plist里面的en改为United States 2016-04-18 22:43:40.883 Friend[21119:1706977] Unknown class ViewController in Interface Builder file. 2016-04-18 22:43:45.337 Friend[21119:1706977] Can't find keypla

Mac OS安装octave出现的问题-'error:terminal type set to 'unknown'的解决'

学习Machine learning需要使用Octave语言,毕竟吴恩承力荐.本机系统Mac OS X EI Capitan, 其实什么系统都无所谓了,安装原理都是一样的. 在不断才坑中,理清楚了各个软件之间的关系: Octave是一个类似于MATLAB一样强大的语言,相比来说,它是开源的,FREE! Octave中使用了GNUplot来绘制图像,所以需要在电脑上安装gnuplot才能使用它的图像绘制的功能.PS: 我首先在coursera上安装课程资源里面给的链接,安装了Octave,后来发现

CUICatalog: Invalid asset name supplied: (null), or invalid scale factor: 2.000000

今天在搭界面的时候发现个问题,以前从来没碰到过,感觉很奇葩,找了好长时间终于找到了.把这个警告截图上来和大家分享下. 这个提示的意思是说你用了这个方法 [UIImage imageNamed:name];但是这个name却是空的,所以就报了这个错了. 解决方法,在项目中搜索[UIImage imageNamed:,然后打印看看所谓的name是否为空.找到后替换. CUICatalog: Invalid asset name supplied: (null), or invalid scale f

Mac OS X:实现移动硬盘在Mac OS与Windows的读写操作

简介: Mac OS默认只能对NTFS格式进行读操作. 现有一个NTFS文件系统格式的移动硬盘,插在Mac OS上挂载之后是只读模式(Read-only),无法进行写操作. 目的:想在不安装第三方应用程序的基础上,使其在Mac OS与Windows都能进行读写操作. 方法:将磁盘格式化成FAT32格式(此格式不支持单个文件大于4GB)或ExFAT格式(此格式支持单个文件大于4GB),此两种文件系统格式均支持在Mac OS与Windows上进行读写操作. 环境: 步骤:需要进行两步操作.     

x01.os.12: 在 windows 中写 OS

在 windows 中写操作系统,需要一系列的辅助工具.在此,要感谢川谷秀实!所有工具,都在 z_tools 文件夹中.有了大师的帮助,不妨也来尝试在 windows 中写一把 OS. 源代码及工具可到 x01.Lab.Download 中下载.进入 src 文件夹,只有两个文件,一个是 run.bat, 一个是 boot.s.boot.s  都是大同小异的,skip!run.bat 内容如下: ..\z_tools\nask boot.s boot.bin boot.txt ..\z_tool

OS X升级El Capitan后,git difftool无法打开diffmerge的解决方法

在git项目下执行git difftool,出现如下报错 /Library/Developer/CommandLineTools/usr/libexec/git-core/mergetools/diffmerge: line 121: diffmerge: command not found 解决方法 ln -s /Applications/DiffMerge.app/Contents/Resources/diffmerge.sh /usr/local/bin/diffmerge

OS X EI Capitan 10.11.4中sudo无法起作用的解决方法

mac升级到OSX EI Capitan 10.11.4后sudo命令无法起作用,执行任何操作总是显示Operation denied.这是因为在10.11.4中引入了Rootless机制,即就算是Root用户也无法对某些文件或者目录进行读写操作,只有Apple或者Apple授权签名的软件可以.Rootless的范围包括: /System /bin /sbin /usr 关闭Rootless的方法就是重启mac,并且再重启时按住Command+R,等mac启动后,在最顶部的菜单栏选择Utilit

五个候选班长,20人投票。(输入1-5来表示支持哪个人)最后查看票数,看那个人胜出

for (; ; ) { Console.WriteLine("班长投票选举(1-5)"); Console.WriteLine("请选择你要投票的人:"); Console.WriteLine("1.张三"); Console.WriteLine("2.李四"); Console.WriteLine("3.王五"); Console.WriteLine("4.马六"); Console

Android开发中遇到的问题(五)——Eclipse导入Android项目出现"Invalid project description overlaps the location of another project"错误的解决办法

一.错误描述 使用如下的命令手动创建一个Android项目 android create project -n LinearLayoutTest -t 1 -p E:/Android/workspace/LinearLayoutTest -k me.gacl.ui -a MainActivity 命令执行完成之后就会在E:/Android/workspace目录下创建一个名字为LinearLayoutTest的Android项目,如下图所示: E:/Android/workspace目录就是我的