是什么原因导致iOS 11 iPad最近的应用停靠图标变灰?

我有一个应用程序,我已经“inheritance”维护。

自iOS 11更新以来,在两个独立的iPad(iPad Air和iPad 5th gen)上,我遇到了问题。 这两款设备都运行iOS 11.0.2。

当应用程序首次安装并启动时,应用程序图标会显示在停靠栏的“最近的应用程序”部分中,但图标显示为灰色且无法轻触(可以拖动,但长按不会执行任何操作) )。 对于任何后续应用程序启动,停靠图标保持不变,除非发生导致应用程序图标离开“最近的应用程序”部分(打开一些其他应用程序或将图标拖到停靠栏左侧)的任何进程,然后图标不再灰显,变得可以点亮。 它看起来就像点击了图标一样,但它永久处于按下状态(它不会触发长按事件)。

从App Store,XCode(调试会话)或Crashlytics安装应用程序时会出现此问题。 在卸载应用程序并重新安装后重新发生,即使在先前安装期间停靠图标已“固定”。

主屏幕应用程序图标很好(不是灰色,可以点击)。

我的应用图标灰色

可能是问题的原因是什么? 或者它是iOS 11的错误?

编辑1:iOS11.0模拟器中不会发生此问题。

编辑2:将iPad(第5代)更新到iOS 11.0.3并没有解决问题。

编辑3:重新启动设备(在卸载和重新安装之间,或者图标为灰色时)修复图标。 这让我相信在删除/卸载应用程序和此缓存之后可能还有一些文件遗留或者仍然发生了某些事情,或者只有在重新启动时才清除。 删除应用程序后等待10分钟无效。

编辑4:正如Marko在评论中所指出的那样,“灰色图标确实可以在将其拖动到屏幕时切换回应用程序,但在点击它时则不行。”

这似乎与xCode有关,并且可能有一个孤立的应用程序图标。 我发现如果我安装 – 卸载 – 重新安装应用程序的App Store版本它没有这个问题。 在从xCode或Crashlytics / Testflight安装(调试)时才会出现此问题。 如果已安装 – 卸载xCode版本,则App Store版本也会受到影响。

编辑5:我注意到如果图标不是灰色并且我删除了(应用程序的调试版本)应用程序,就在图标从最近的应用程序停靠点消失之前,它会变为灰色然后被删除。

更新:我已经复制了我的应用程序的App Store版本的错误,但我也能够使用Google Play音乐应用程序复制错误。 因此我认为这不仅仅是我的应用程序(以及其他一些开发人员)的问题,但它似乎是一个iOS 11错误。 我将回答我自己的问题,这是一个iOS 11错误。

Google Play音乐图标也是灰色的

经过一些测试后,我得出的结论是这是一个iOS11错误。 我能够使用自己的应用程序和App Store(Google Play音乐)上的另一个应用程序复制该错误。

App图标灰色在码头

卸载Dock中“最近的应用程序”部分中的应用程序时,似乎会发生这种情况。 重新安装并打开应用程序后,图标为灰色。

我在旧项目中发现了相同的问题,并使用多种方法对其进行调试。 我发现对我来说Fabric / Crashlytics框架 – 这就是影响Dock中图标的因素。

简而言之:只需评论:[Fabric with:@ [[Crashlytics class]]]; 您的AppDelegate中的行和Dock中的图标将再次可点击。 我认为AppStore版本不会成为问题。 此外,我认为Fabric团队将在未来版本中解决此问题。