【问题标题】:iOS Deployment Target for Universal App通用应用的 iOS 部署目标
【发布时间】:2011-01-07 19:10:18
【问题描述】:

早安,stackoverflow 的各位。

我遇到了一个小问题,我无法通过 google、stackoverflow 或 Apple 文档找到可靠的答案。也许我没有在寻找正确的关键字。任何人,继续我的简单、愚蠢的问题:

我目前正在开发一个通用应用程序。 我希望将 iOS 部署目标设置为 iPad 的 3.2+ 和 iPhone/iPod Touch 的 4.0+,但设置只有一个字段。我应该将此值设置为 3.2 还是 4.0? 3.2 不是只有 iPad 的 SDK 吗?是否需要在两个项目构建设置和目标构建设置中设置此值?

请注意:我使用的是'Latest iOS (currently set to 4.2)'作为Base SDK,在阅读了以下内容后,我仍然无法得出一个明确的答案: p>

http://developer.apple.com/library/ios/#documentation/DeveloperTools/Conceptual/cross_development/Configuring/configuring.html

非常感谢您对此事的任何帮助。谢谢!

【问题讨论】:

    标签: iphone objective-c


    【解决方案1】:

    您应该将 Base SDK 设置为最新版本,并将 Deployment Target 设置为 3.2。 那么––这很重要––如果您使用仅在 4.0 或更高版本中可用的任何 API(即,不在 3.2 中),那么您必须执行运行时检查以查看该 API实际可用,如果没有,请执行其他操作。

    【讨论】:

    • 兰德尔,感谢您的迅速回复。我一直将部署目标设置为 3.2,并且该应用程序可以在我的所有测试设备(iPad 3.2、iPhone4 4.1 和 iPhone3G 4.1)和模拟器中顺畅运行。关于您的评论,只要一切正常,我还需要进行此运行时检查吗?我在代码的几个地方使用了 if(UI_USER_INTERFACE_IDIOM) 条件。这样做就足够了,还是我应该做其他事情?我已经深入阅读了“使用基于 SDK 的开发”和“为基于 SDK 的开发配置项目”,并且正在苦苦挣扎。
    • 所有 UI_USER_INTERFACE_IDIOM 告诉您的是您是在 iPhone/iPod 还是 iPad 上运行,而不是操作系统版本。如果您在 3.2 上运行时尝试调用仅限 4.x 的 API,您崩溃。如果您调用 any 仅限 4.x 的 API(因为在 3.2 的运行时不可用),您只需进行运行时检查。
    猜你喜欢
    • 1970-01-01
    • 2011-08-01
    • 1970-01-01
    • 2016-11-13
    • 2018-09-29
    • 2021-08-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多