一.描述:
这个问题,困扰我很长一段时间了, 之前想了各种办法都没有解决,然后就被我搁置下来, 但是这两天在做一个项目的时候又出现这个bug了, 真是不能欠债啊,不然迟早都会再来的, 所以下定功夫,好好的来尝试解决一下这个bug;
错误如下:
The operation couldn’t be completed. (LaunchServicesError error 0)
弹窗提示为:
二. 我尝试过的解决办法:
尝试1:
第一次出现这个bug是在我一次修改过系统底层的私有属性之后出现的,那一次我一直以为是我修改过系统的私有属性而造成的这个原因;
当时我将我修改过的所有私有属性全部还原, 在当时确实是解决了这个问题的, 不过, 当我多测试几次的时候,这个bug又弹出来了,而且我怎么都解决不了;
尝试2:
后来我分析,有可能是我更改了启动页面造成的,然后我就将启动页面在launchScreen和BrandAsset之间来回的转换, 然后再运行, 运行的结果是当时是确实可以解决bug的,但多运行几次之后,这个bug又出来了,尝试失败!
尝试n次:
经过多次的尝试,我甚至怀疑是不是我的xcode的问题, 于是,我卸载了xcode,重新安装,这个bug还是存在;
接着我又想,是不是我模拟器的问题, 于是我重置模拟器, 更换多个模拟器来测试, 结果还是有这个bug;
然后,我疯狂在网上搜找这个bug的解决方案, 不过,网站或者博客,百度问答,知乎,简书,开源中国......等等,都没有一个真正解决这个bug的;
问了N多同行, 同事, 好吧, 大家最后都劝我放弃了.......
但是这两天,又出现这个问题了, 我那个纠结啊, 简直无法用语言来形容, 但是目前的项目又必须要进行下去,肿么办呢? 只能硬着头皮上了, 下面是我这次的解决方案, 这个bug确实是解决了,我随后也测试了N多次,再也没有弹出这个bug了,但是,说实话,我目前也稀里糊涂的, 因为我也是瞎猫碰到死耗子了,也没用理清楚其中的具体原因是什么,
我大致理了理我当时解决这个bug的思路:
三. 分析
从字面上提示的信息,我们可以看出是:
The operation couldn’t be completed. (LaunchServicesError error 0) ----- 无法完成操作。(launchserviceserror错误0)
怎样来理解这句话呢? 我的理解的是: launchservices这个启动程序发生了错误, 导致启动的第一步骤都无法完成,
所以,我把解决思路集中在程序的启动阶段;
我想了想我之前在遇到这个bug时候的尝试, 虽然用过很多办法,但是我发现,有一个地方我没有尝试过, 而且也很难会去想到是这个地方,
**那就是AppIcon里面, 毕竟这里只是我们放应用图标的地方,这里只要美工给我们的图标尺寸没有问题,那么一般情况下是不会有bug的,但是我在想,有没有可能就是这样的问题呢? **
四. 解决 (下面的方法仅供参考)
然后, 我就先备份了代码, 打开副本, 勇敢的删除了AppIcon里面所有的应用图标图片,接着运行.....
对,你们猜对了, 居然什么问题都木有了!!!
我当时那个激动啊 , 不过为了严谨, 我又反复的测试了很多次, 事实告诉我,尼玛确实再也没有这个bug弹出来了!!!
说实话,到我发文的这个时候,我都不清楚为什么就这样解决了这个bug, 其中的原理,我也还没有理清楚, 不过能解决这个bug,还真是意外之喜;
五. 写在最后: 虽然,我这个方法蹊跷的解决了这个bug, 不过,是不是真的之后就再不会出这个bug了,还需要后期反复的测试,如果后面我弄明白了这个问题的根源,一定再来解释清楚; 如果有小伙伴知道这个原理的, 还望不吝赐教,360°感谢,鞠躬!!!
呃, 还有就是, 明天又得去联系我们的美工小美女重新切图标图片了...... , 好吧,我承认,这个bug出来, 请小美女的一顿饭又跑不了了, 哈哈,不过,还是蛮开心的, 毕竟这个bug困扰了我好久了......