Iphone 应用程序正在iOS4.0或更高版本中运行,但它';s在设备3.1.3或更低版本上启动后立即崩溃

Iphone 应用程序正在iOS4.0或更高版本中运行,但它';s在设备3.1.3或更低版本上启动后立即崩溃,iphone,ios4,Iphone,Ios4,我有一个应用程序在iOS 4.0或更高版本上运行良好,但在设备3.1.3或更低版本上启动后立即崩溃。我已经将“基本SDK”设置为“4.1”,将“部署目标”设置为“3.0” 事故日志- Dyld错误消息: 未找到符号:\ UIKeyboardFrameEndUserInfoKey 参考自:/var/mobile/Applications/FE470A03-6285-48E4-B188-A0023500AA84/XXX 预期位于:/System/Library/Frameworks/UIKit.fr

我有一个应用程序在iOS 4.0或更高版本上运行良好,但在设备3.1.3或更低版本上启动后立即崩溃。我已经将“基本SDK”设置为“4.1”,将“部署目标”设置为“3.0”

事故日志-

Dyld错误消息: 未找到符号:\ UIKeyboardFrameEndUserInfoKey 参考自:/var/mobile/Applications/FE470A03-6285-48E4-B188-A0023500AA84/XXX 预期位于:/System/Library/Frameworks/UIKit.framework/UIKit 动态版本:149

我对新框架的链接很弱

非常感谢您的帮助

问候,, Amit

iOS 3.2引入了常量UIKeyboardFrameEndUserInfoKey。因此它在3.1.3设备上不可用。此外,该常量在UIKit框架中定义。因此,弱链接到新框架是不够的,因为UIKit是一个旧框架

我看到两种选择:

  • 切换到UIKit的弱链接(并确保该常量未在旧设备上使用)

  • 将UIKeyboardFrameEndUserInfoKey的使用替换为UIKeyboardBoundsUserInfoKey。它已被弃用,工作原理略有不同。但它仍然有效

  • iOS 3.2引入了常量UIKeyboardFrameEndUserInfoKey。因此它在3.1.3设备上不可用。此外,该常量在UIKit框架中定义。因此,弱链接到新框架是不够的,因为UIKit是一个旧框架

    我看到两种选择:

  • 切换到UIKit的弱链接(并确保该常量未在旧设备上使用)

  • 将UIKeyboardFrameEndUserInfoKey的使用替换为UIKeyboardBoundsUserInfoKey。它已被弃用,工作原理略有不同。但它仍然有效

  • 弱链接的“UIKit”框架起到了作用。还有一句话说,应用程序崩溃是使用“UIApplicationWillEnterForegroundNotification”,而不检查它是否可用。 以下检查已修复该问题

        if (&UIApplicationWillEnterForegroundNotification != NULL) {
    //Register for a notifiation when application enter into foreground state
        [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(reloadVCData:) name:UIApplicationWillEnterForegroundNotification object:nil];
    }
    
    问候,, Amit

    弱链接的“UIKit”框架成功了。还有一句话说,应用程序崩溃是使用“UIApplicationWillEnterForegroundNotification”,而不检查它是否可用。 以下检查已修复该问题

        if (&UIApplicationWillEnterForegroundNotification != NULL) {
    //Register for a notifiation when application enter into foreground state
        [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(reloadVCData:) name:UIApplicationWillEnterForegroundNotification object:nil];
    }
    
    问候,,
    Amit

    我将尝试弱链接UIKit。但我确信我的项目中没有使用UIKeyboardFrameEndUserInfoKey。谢谢你的回答。我会尝试弱链接UIKit。但我确信我的项目中没有使用UIKeyboardFrameEndUserInfoKey。谢谢你的回答。谢谢你的阿米特,我不确定如何检查。谢谢你的阿米特,我不确定如何检查。