相关疑难解决方法(0)

如何让UI_USER_INTERFACE_IDIOM()与iPhone OS SDK <3.2一起使用

Apple建议使用以下代码检测是在iPad上运行还是在iPhone/iPod Touch上运行:

if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) {
  // The device is an iPad running iPhone 3.2 or later.
  // [for example, load appropriate iPad nib file]
}
else {
  // The device is an iPhone or iPod touch.
  // [for example, load appropriate iPhone nib file]
}
Run Code Online (Sandbox Code Playgroud)

问题是在3.2之前的SDK中没有定义UI_USER_INTERFACE_IDIOM()和UIUserInterfaceIdiomPad.这似乎完全打败了这种功能的目的.它们只能在iPhone OS 3.2上编译和运行(iPhone OS 3.2只能在iPad上运行).因此,如果您可以使用UI_USER_INTERFACE_IDIOM(),结果将始终是指示iPad.

如果您包含此代码和目标OS 3.1.3(最新的iPhone/iPod Touch OS)以测试您的iPhone绑定的通用应用程序代码,您将收到编译器错误,因为符号未在3.1.3或更早版本中定义,为iPhone模拟器3.1.3编译时.

如果这是Apple推荐的运行时设备检测方法,那么我做错了什么?有没有人成功使用这种方法进行设备检测?

iphone ipad iphone-sdk-3.2

32
推荐指数
5
解决办法
4万
查看次数

Xcode 4.3和iOS 3.x设备上的调试

我上周刚刚通过Mac App Store将Xcode更新到4.3版,并发现我无法再在iOS 3.x设备上进行调试.我有运行iOS 3.1.3的iPhone 3G和运行iOS 3.2的第一代iPad.

在两个设备上,似乎Xcode 4.3安装了应用程序并尝试启动应用程序.该应用程序显示启动画面但从未完成启动.调试器输出窗口中没有任何错误消息或消息.我唯一的线索是,当我按下暂停按钮时,我可以看到设备/ Xcode卡在以下功能中:addimagesToAllImages似乎与Apple的DYLD有关.

调试在iOS 5设备上运行良好,并在之前的Xcode 4.2安装上工作.我重启了我的Mac,iOS 3.x设备,没有改变行为,包括清除所有缓存.

任何人都有任何关于发生了什么的想法?谢谢您的帮助.

iphone xcode ipad 3g ios

10
推荐指数
1
解决办法
4414
查看次数

标签 统计

ipad ×2

iphone ×2

3g ×1

ios ×1

iphone-sdk-3.2 ×1

xcode ×1