3

私はチェックしています:

[[UIDevice currentDevice] systemName]

applicationDidEnterBackground で。EXC_BAD_ACCESS (SIGSEGV) シグナルを引き起こしています。スタック トレースは、これが CFDictionaryGetValue を呼び出している UIDevice で内部的に発生していることを示しています。

実験、呼び出し:

CFDictionaryGetValue(NULL, "key");

同じエラーが発生します。

何か案は?バックグラウンドでの UIDevice へのアクセスに関するドキュメントを検索しましたが、それが問題であることを示すものは何も見つかりませんでした。

ありがとう

4

1 に答える 1

0

applicationDidEnterBackgroundで[[UIDevicecurrentDevice]systemName]を呼び出す(およびログに記録する):私のテストでは正常に機能します。CFDictionaryGetValue(NULL、 "key")は常にクラッシュし、発生した問題とは何の関係もありません。

- (void)applicationDidEnterBackground:(UIApplication *)application
{
    NSString *systemName = [[UIDevice currentDevice] systemName];
    if ( systemName )
        NSLog(@"%@", systemName);
    else
        NSLog(@"null systemName");
}
于 2013-02-19T21:24:12.743 に答える