iOS 应用程序因语言环境更改而崩溃

Posted

技术标签:

【中文标题】iOS 应用程序因语言环境更改而崩溃【英文标题】:iOS app crash on locale change 【发布时间】:2011-09-04 09:14:30 【问题描述】:

当我离开我的应用,转到设置并更改手机上的语言时,我的应用(仍驻留在后台)崩溃。 是否有接口或我应该实现的东西或者这是预期的行为?

我使用的代码非常简单,实际上只有一个 xib,本地化为英语和法语。 没有作为产品的崩溃日志,但控制台输出以下内容:

May 29 12:08:30 unknown SpringBoard[1723] <Warning>: Killing <SBApplication: 0x1f57d320> com.MightyZeppelin.LocalizediPhone  activate:  deactivate:  for app installation
May 29 12:08:31 unknown SpringBoard[1723] <Warning>: Reloading application state for 'com.MightyZeppelin.LocalizediPhone' as its modification date has changed
May 29 12:08:32 unknown SpringBoard[1723] <Warning>: Reloading and rendering all application icons.
May 29 12:08:35 unknown com.apple.debugserver-50[1755] <Warning>: debugserver-50 for armv6 Copyright (c) 2007-2009 Apple, Inc.  All Rights Reserved.
May 29 12:08:35 unknown com.apple.debugserver-50[1755] <Warning>: Connecting to com.apple.debugserver service...
May 29 12:08:35 unknown kernel[0] <Debug>: lockbot[1747] Builtin profile: debugserver (sandbox)
May 29 12:08:35 unknown SpringBoard[1723] <Notice>: MultitouchHID(1f513310) uilock state: 1 -> 0
May 29 12:08:35 unknown MobileStorageMounter[1756] <Notice>: (0x3f4dd48c) platform_supports_camera_import: Platform is NOT configured for camera import
May 29 12:08:36 unknown com.apple.launchd[1] <Warning>: (UIKitApplication:com.MightyZeppelin.LocalizediPhone[0x47f]) Spawned and waiting for the debugger to attach before continuing...
May 29 12:08:36 unknown com.apple.debugserver-50[1755] <Warning>: Got a connection, waiting for debugger instructions for task "(null)".
May 29 12:08:36 unknown kernel[0] <Debug>: launchd[1757] Builtin profile: container (sandbox)
May 29 12:08:36 unknown kernel[0] <Debug>: launchd[1757] Container: /private/var/mobile/Applications/D0AA4DB0-9D85-4C7B-84EF-938C8C8DC952 [69] (sandbox)
May 29 12:08:45 unknown MobileStorageMounter[1756] <Notice>: (0x3f4dd48c) idle_timer_callback: Exiting after idle timeout
May 29 12:08:54 unknown Preferences[1758] <Warning>: BTM: attaching to BTServer
May 29 12:08:55 unknown Preferences[1758] <Warning>: BTM: posting notification BluetoothAvailabilityChangedNotification
May 29 12:09:04 unknown com.apple.SpringBoard[1723] <Notice>: CoreAnimation: timed out fence 5
May 29 12:09:05 unknown SpringBoard[1723] <Warning>: Preferred language has changed from 'en' to 'fr'. Relaunching.
May 29 12:09:05 unknown com.apple.launchd[1] <Warning>: (com.apple.mediaserverd) Exited with exit code: 254
May 29 12:09:05 unknown kernel[0] <Debug>: launchd[1760] Builtin profile: iapd (sandbox)
May 29 12:09:09 unknown MobileMusicPlayer[1766] <Warning>: ITDBPrepServerPostProcessRun: [BEGIN] looking up itdbprepserver.
May 29 12:09:09 unknown itdbprepserver[1767] <Warning>: starting up.
May 29 12:09:09 unknown itdbprepserver[1767] <Warning>: acquired iTunes sync file lock.
May 29 12:09:09 unknown itdbprepserver[1767] <Warning>: acquired itdbprep file lock.
May 29 12:09:09 unknown itdbprepserver[1767] <Warning>: posting com.apple.itdbprep.notification.willBegin
May 29 12:09:10 unknown MobileMusicPlayer[1766] <Warning>: ITDBPrepServerPostProcessRun: [-END-] looking up itdbprepserver.  success = 1
May 29 12:09:10 unknown itdbprepserver[1767] <Warning>: BEGIN processing command: com.apple.itdprep.command.runPostProcess
May 29 12:09:10 unknown MobileMusicPlayer[1766] <Warning>: *** MLSSqliteVFS AllWrites DISABLED ***
May 29 12:09:10 unknown itdbprepserver[1767] <Warning>: [BEGIN] ITDBPostProcessController...
May 29 12:09:11 unknown com.apple.launchd[1] <Notice>: (UIKitApplication:com.apple.mobileipod[0x83e4]) Exited: Killed: 9
May 29 12:09:12 unknown kernel[0] <Debug>: IOReturn IOMobileFramebufferUserClient::set_hotplug_notify(void*, void*) 0 0
May 29 12:09:12 unknown kernel[0] <Debug>: IOReturn IOMobileFramebufferUserClient::set_hotplug_notify(void*, void*) 0 0
May 29 12:09:13 unknown SpringBoard[1770] <Error>: WiFi: Consulting "no-sdio-devices" property.
May 29 12:09:13 unknown SpringBoard[1770] <Error>: WiFi: "no-sdio-devices" property not found.
May 29 12:09:13 unknown SpringBoard[1770] <Warning>: lockdown says the device is: [WildcardActivated], state is 3
May 29 12:09:13 unknown SpringBoard[1770] <Warning>: lockdown says we've previously registered: [1], state is 1
May 29 12:09:13 unknown SpringBoard[1770] <Notice>: CLTM: initial thermal level is 0
May 29 12:09:13 unknown SpringBoard[1770] <Notice>: MultitouchHID(1dd35200) uilock state: 1 -> 0
May 29 12:09:13 unknown locationd[22] <Error>: hidd died. Reestablishing connection.
May 29 12:09:14 unknown misd[1771] <Notice>: port forwarding is allowed
May 29 12:09:14 unknown misd[1771] <Info>: checking for carrier provisioning
May 29 12:09:14 unknown misd[1771] <Info>: carrier service is available
May 29 12:09:14 unknown misd[1771] <Debug>: published changes: success
May 29 12:09:14 unknown misd[1771] <Info>: maximum number of wireless tethered hosts is 5
May 29 12:09:14 unknown misd[1771] <Debug>: published changes: success
May 29 12:09:14 unknown misd[1771] <Debug>: attached to SpringBoard (0x1ed31140, port 0x3f0b)
May 29 12:09:14 unknown misd[1771] <Debug>: detached from SpringBoard (0x1ed31140, port 0x1ed31180)
May 29 12:09:14 unknown misd[1771] <Debug>: no clients left; resuming idle timer
May 29 12:09:14 unknown com.apple.launchd[1] <Warning>: (UIKitApplication:com.MightyZeppelin.LocalizediPhone[0x47f]) Exit timeout elapsed (1 seconds). Killing
May 29 12:09:17 unknown SpringBoard[1770] <Warning>: BTM: attaching to BTServer
May 29 12:09:19 unknown com.apple.launchd[1] <Warning>: (UIKitApplication:com.MightyZeppelin.LocalizediPhone[0x47f]) Did not die after sending SIGKILL 5 seconds ago...
May 29 12:09:21 unknown SpringBoard[1770] <Warning>: ITDBPrepServerPostProcessRun: [BEGIN] looking up itdbprepserver.
May 29 12:09:21 unknown itdbprepserver[1767] <Warning>: CPDistributedMessagingCenter ignoring message named com.apple.itdprep.command.runPostProcess since no target and selector are registered
May 29 12:09:21 unknown SpringBoard[1770] <Warning>: ITDBPrepServerPostProcessRun: [-END-] looking up itdbprepserver.  success = 0
May 29 12:09:23 unknown com.apple.launchd[1] <Warning>: (com.apple.AddressBook) Throttling respawn: Will start in 10 seconds
May 29 12:09:24 unknown com.apple.launchd[1] <Warning>: (UIKitApplication:com.MightyZeppelin.LocalizediPhone[0x47f]) Did not die after sending SIGKILL 10 seconds ago...
May 29 12:09:25 unknown com.apple.launchd[1] <Notice>: (UIKitApplication:com.MightyZeppelin.LocalizediPhone[0x47f]) Bug: launchd_core_logic.c:3794 (24506):3
May 29 12:09:25 unknown com.apple.launchd[1] <Notice>: (UIKitApplication:com.MightyZeppelin.LocalizediPhone[0x47f]) Bug: launchd_core_logic.c:3202 (24506):10
May 29 12:09:25 unknown com.apple.launchd[1] <Notice>: (UIKitApplication:com.MightyZeppelin.LocalizediPhone[0x47f]) Working around 5020256. Assuming the job crashed.
May 29 12:09:28 unknown MobileStorageMounter[1775] <Notice>: (0x3f4dd48c) platform_supports_camera_import: Platform is NOT configured for camera import
May 29 12:09:28 unknown SpringBoard[1770] <Warning>: Could not find mapped image Black_CARRIER_FIDO.png
May 29 12:09:28 unknown SpringBoard[1770] <Debug>: spd:_libspd_initialize_protocol:142 Registered notification port with spd [PID=1776]
May 29 12:09:28 unknown SpringBoard[1770] <Debug>: spd:_libspd_initialize_notify:241 All set up for spd wake notifications
May 29 12:09:29 unknown misd[1771] <Debug>: attached to SpringBoard (0x1ed30f30, port 0x3f17)
May 29 12:09:29 unknown misd[1771] <Debug>: detached from SpringBoard (0x1ed30f30, port 0x1ed30f70)
May 29 12:09:29 unknown misd[1771] <Debug>: no clients left; resuming idle timer
May 29 12:09:29 unknown SpringBoard[1770] <Warning>: BTM: posting notification BluetoothAvailabilityChangedNotification
May 29 12:09:30 unknown com.apple.printd[1777] <Notice>: Accepted connection from localhost:631 (Domain)
May 29 12:09:30 unknown com.apple.printd[1777] <Notice>: Closing connection from localhost:631 (Domain)
May 29 12:09:30 unknown SpringBoard[1770] <Error>: mms: ***** isMmsConfigured = 1
May 29 12:09:30 unknown SpringBoard[1770] <Warning>: BTM: BTLocalDeviceGetPairedDevices returned 0 devices
May 29 12:09:30 unknown com.apple.printd[1777] <Notice>: Accepted connection from localhost:631 (Domain)
May 29 12:09:30 unknown searchd[1779] <Warning>: Opened updates file at /var/mobile/Library/Spotlight/com.apple.MobileSMS/updates.SMSSearch.spotlight
May 29 12:09:30 unknown SpringBoard[1770] <Error>: WiFi: Consulting "no-sdio-devices" property.
May 29 12:09:30 unknown SpringBoard[1770] <Error>: WiFi: "no-sdio-devices" property not found.
May 29 12:09:31 unknown com.apple.printd[1777] <Notice>: Closing connection from localhost:631 (Domain)
May 29 12:09:32 unknown MobilePhone[1782] <Warning>: UI Mode is Phone
May 29 12:09:33 unknown com.apple.launchd[1] <Warning>: (com.apple.AddressBook) Throttling respawn: Will start in 10 seconds
May 29 12:09:33 unknown itdbprepserver[1767] <Warning>: Running Misc Commands...
May 29 12:09:33 unknown itdbprepserver[1767] <Warning>: Running Create Triggers...
May 29 12:09:33 unknown itdbprepserver[1767] <Warning>: Initializing MusicLibrary...
May 29 12:09:33 unknown itdbprepserver[1767] <Warning>: *** STARTING: DB Backup (CREATE-NEW) ***
May 29 12:09:33 unknown itdbprepserver[1767] <Warning>: *** FINISHED: DB Backup (CREATE-NEW, time = 0.13s) ***
May 29 12:09:33 unknown itdbprepserver[1767] <Warning>: [-END-] ITDBPostProcessController.

【问题讨论】:

崩溃日志是什么样的?也许在这里引用它会有所帮助。 【参考方案1】:

应用程序很可能不会崩溃。它被操作系统杀死。

这确实是预期的行为。在模拟器和设备上,所有应用都会因语言更改而终止。

【讨论】:

Apple 有记录吗?

以上是关于iOS 应用程序因语言环境更改而崩溃的主要内容,如果未能解决你的问题,请参考以下文章

iOS:当应用程序因任何崩溃而退出时,是不是有任何委托方法

iOS 10 应用程序因试图访问隐私敏感数据而崩溃

iOs React Native 应用程序因 libRCTFBSDK.a 而崩溃

WKWebView 因某些查询而崩溃(iOS Swift)

应用程序仅在 iPhone 8 iOS 14.4.1 上因内存不足而崩溃

iOS - 如果仅在设备上运行,我的应用程序会因内存错误而崩溃