美文网首页
iOS开发之_BSMachError警告解决方法

iOS开发之_BSMachError警告解决方法

作者: 施忆 | 来源:发表于2017-09-06 15:44 被阅读0次

    _BSMachError警告相信大家都不会感到陌生,只要所开发的应用有跳转到其他应用或平台的功能时,代码不规范都会引起这个警告,虽然不影响功能的使用,但作为一个有代码洁癖的猿猿来说,这是绝对不能允许的。

    1、_BSMachError警告信息

    [Common] _BSMachError:  (os/kern) invalid capability (0x14) "Unable to insert COPY_SEND"
    [Common] _BSMachError: (os/kern) invalid name (0xf) "Unable to deallocate send right" 
    

    通用描述为:

    [Common] _BSMachError:  (os/kern) invalid capability (0x14) 
    [Common] _BSMachError:  (os/kern) invalid name (0xf) 
    

    2、_BSMachError警告来源

    笔者所实现的功能是跳转微信分享和系统拨号功能时所出现的,经过搜索后发现这种警告来源有很多种,我在这细化分为三类:

    第一类:跳转到第三方分享、登录、授权时;
    第二类:通过调用系统方法 openURL跳转时;
    第三类:系统弹框 alertView或者键盘的出现时;

    注:第三类的产生可能与iOS系统版本有关,因为笔者自己也没有经过,只能根据搜索的信息做相关推测。

    3、_BSMachError官方解释

    苹果开发者论坛上找到两个连接: https://forums.developer.apple.com/message/122381#122381 https://forums.developer.apple.com/thread/15683
    结论:这个问题太复杂,如果没有上下文,苹果开发团队也说不清_BSMachError确切是由于什么引起的。
    不过人家最后留下了线索:
    — Quinn “The Eskimo!” Apple Developer Relations, Developer Technical Support, Core OS/Hardware let myEmail = “eskimo” + “1” + “@apple.com”
    如果你觉得有必要的话,可以写信给这个邮箱,等等看有什么结果。

    4、_BSMachError的解决方法

    笔者搜索了很多相关的问题,所说的解决方法基本都是“延时操作”,笔者自己也去试了试,发现果然解决了这个警告。

    延时跳转
    dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.1 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
                                [WXApi openWXApp];
                            });
    

    5、笔者V587

    笔者已入坑,哈哈。

    相关文章

      网友评论

          本文标题:iOS开发之_BSMachError警告解决方法

          本文链接:https://www.haomeiwen.com/subject/ytcvjxtx.html