XCode 控制台:警告!唯一的人格是模糊的;这可能会导致不稳定的行为 - 在键盘扩展中

问题描述 投票:0回答:1

我有一个 iOS 应用程序,其中包含自定义键盘扩展及其容器应用程序。当我尝试调试自定义键盘扩展时,我在 XCode 控制台中收到以下相当令人不安的日志:

EasyType Keyboard[84937:5754706] [lifecycle] [u 9061FF85-F4D2-401A-94C2-73377E20E419] [com.easytype.EasyType.Keyboard(1.7.1)] WARNING! Sole personality is ambiguous; this may lead to erradic behavior; personalities: {
    "com.easytype.EasyType.Keyboard" =     {
        685 = "<PKServicePersonality: 0x283175340; core = <PKPlugInCore: 0x283175340; uuid = [9061FF85-F4D2-401A-94C2-73377E20E419], identifier = [com.easytype.EasyType.Keyboard(1.7.1)], isAppExtension = 1, onSystemVolume = 0, containingBundle = [(null)], lastModified = 0, discoveryInstanceUUID = [(null)], path = [/private/var/containers/Bundle/Application/762C0B3C-A600-4AB4-AB84-AB2019FA053C/EasyType.app/PlugIns/EasyType Keyboard.appex]>, host pid = 685>";
        84881 = "<PKServicePersonality: 0x2831782a0; core = <PKPlugInCore: 0x2831782a0; uuid = [DAEEF528-9AB6-4482-95E9-03E6BB353BBD], identifier = [com.easytype.EasyType.Keyboard(1.7.1)], isAppExtension = 1, onSystemVolume = 0, containingBundle = [(null)], lastModified = 0, discoveryInstanceUUID = [(null)], path = [/private/var/containers/Bundle/Application/762C0B3C-A600-4AB4-AB84-AB2019FA053C/EasyType.app/PlugIns/EasyType Keyboard.appex]>, host pid = 84881>";
    };
}

com.easytype.EasyType.Keyboard
是键盘扩展的捆绑 ID。该项目休眠了一段时间,当我再次开始工作时,此日志开始显示。我该如何解决这个问题?


编辑

还有另一个版本的日志,有时出现在更常见的日志之上:

EasyType Keyboard[85190:5767015] [lifecycle] WARNING! Sole personality requested when nil; THIS MAY BE A SPURIOUS LAUNCH OF THE PLUGIN due to a message to an XPC endpoint other than the main service endpoint; personalities: {
    "com.easytype.EasyType.Keyboard" =     {
        79474 = "<PKServicePersonality: 0x2828c0700; core = <PKPlugInCore: 0x2828c0700; uuid = [706FFAE3-DC72-4DBB-AC32-C2CFFD0BD992], identifier = [com.easytype.EasyType.Keyboard(1.7.1)], isAppExtension = 1, onSystemVolume = 0, containingBundle = [(null)], lastModified = 0, discoveryInstanceUUID = [(null)], path = [/private/var/containers/Bundle/Application/648263C7-603F-458E-AB8D-9109DD2C0D80/EasyType.app/PlugIns/EasyType Keyboard.appex]>, host pid = 79474>";
    };
}
ios swift xcode debugging custom-keyboard
1个回答
0
投票

该警告似乎不会造成任何问题,只是给开发人员的一条消息。

但是,自定义键盘之间切换的生命周期是您可能需要关注的事情,特别是如果有需要加载/释放的服务。

以下是我为可能需要的人记录的生命周期:

出现系统级警报(即连接到设备):

willResignActive => didBecomeActive

切换到首页

willResignActive => viewWillDisappear => viewDidDisappear

关闭自定义键盘:

viewWillDisappear => viewDidDisappear => viewWillDisappear => viewDidDisappear => deinit

切换到其他未打开自定义键盘的应用程序:

`willResignActive => viewWillDisappear => viewDidDisappear => deinit`

使用打开的自定义键盘在应用程序之间切换:

    `willResignActive => [Erratic behavior warning listed] => viewDidLoad
 => viewWillAppear => didBecomeActive => viewWillDisappear => didEnterBackground
 => viewDidDisappear => first keyboard may not deinit`
最新问题
© www.soinside.com 2019 - 2024. All rights reserved.