我正在制作一个通用的 iPad/iPhone 应用程序,它可以使用 iPad 的 VGA 输出连接器将应用程序的内容镜像到外部屏幕上。但是,iPhone 没有此功能。给出以下代码,
#ifdef UI_USER_INTERFACE_IDIOM
if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) {
NSLog(@"this code should not execute on iphone");
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(screenInfoNotificationReceieved:)
name:UIScreenDidConnectNotification
object:nil];
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(screenInfoNotificationReceieved:)
name:UIScreenDidDisconnectNotification
object:nil];
}
#endif
我在启动时在手机上收到此错误(在 ipad 中工作正常)“dyld:找不到符号:_UIScreenDidConnectNotification”
大概是因为 UIScreenDidConnectNotification 在 3.13 中还不存在。我如何在运行时检查这个?
更新 添加了 ifdef 语句来检查 ipad 接口,但得到相同的结果!
UPDATED添加了 NSLog 语句以确保 if 语句中的代码没有被调用。崩溃似乎发生在执行任何其他代码之前......