報錯(警告):_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掉觀察者 我是這樣解決的
相關文章
相關標籤/搜索