報錯(警告):_BSMachError: (os/kern) invalid capability (20)和_BSMachError: (os/kern) invalid name (15)解決方法


關於

報錯(警告):_BSMachError: (os/kern) invalid capability (20)和_BSMachError: (os/kern) invalid name (15)解決方法

1.錯誤方式和解決

**我出現這個問題是在UIAlertController中點擊設置使用[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"prefs:root=Privacy"]]跳轉到系統設置的時候發生的**

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

_BSMachError: (os/kern) invalid name (15)

解決方法:

通過使用多線程延遲調用解決這個問題,代碼如下:

dispatch_after(0.2, dispatch_get_main_queue(), ^{
        [[UIApplication sharedApplication] openURL:[NSURL 			URLWithString:@"prefs:root=Privacy"]];//隱私設置
});

2.錯誤方式和解決

前些天在做app升級提示的時候,遇到了警告:
_BSMachError: (os/kern) invalid capability (20)
_BSMachError: (os/kern) invalid name (15) 

原因:是自己在alertAction中添加了時間,但是並未采用延時機制。

解決辦法:代碼示例
[alertVC addAction:[UIAlertAction actionWithTitle:@"現在升級"   
style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action)  
{
    //這里添加了多線程,消除警告
    dispatch_after(0.2, dispatch_get_main_queue(), ^{
        NSURL *appStoreUrl = [NSURL URLWithString:[NSString 
		stringWithFormat:kAppStore_APPVersionUrl,APP_ID]];
        [[UIApplication sharedApplication] openURL:appStoreUrl];
        NSLog(@"鏈接--%@",appStoreUrl);
    });        
}]];

3.錯誤方式和解決

解決方法:網上的解決方法
可能是通知的問題。我是注釋了postNotificationName,忘記把addObserver也刪除。 
在視圖消失viewDidDisappear的這個方法中 remove掉觀察者 我是這樣解決的


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM