我正在使用 Xcode 5/iOS SDK 6.1 构建。如果应用程序在 iOS 7.x 设备上运行,则应检查是否为应用程序设置了“设置 -> 常规 -> 背景应用刷新”设置。由于此属性仅在 iOS 7 上可用,因此我正在执行以下操作:
if([[UIApplication sharedApplication] respondsToSelector:@selector(backgroundRefreshStatus)])
{
NSInteger outcome=[[[UIApplication sharedApplication] performSelector:@selector(backgroundRefreshStatus)] integerValue];
//do something with "outcome"
}
但是...应用程序在 iOS 7 上的“performSelector”行崩溃,这很奇怪,因为它通过了“respondsToSelector”调用?有谁知道为什么?我也尝试了 NSSelectorFromString(@"backgroundRefreshStatus") ,结果相同。