如何找到条件编译的iPhone SDK的确切版本?

发布于 2024-08-26 05:23:42 字数 395 浏览 6 评论 0原文

我正在寻找一个宏来指定用于编译的 iPhone SDK 的确切版本。这是必需的,因为当使用(且仅使用)SDK 3.0 进行编译时,我需要添加一些额外的代码。

__IPHONE_OS_VERSION_MIN_REQUIRED 在这里不是正确的选择,因为它可以由用户使用参数 -mmacosx-version-min 设置。例如,用户可以在 SDK 3.1 中使用最小版本 -mmacosx-version-min=3.0 进行编译,因此对 __IPHONE_OS_VERSION_MIN_REQUIRED == 30000 的检查将为 true,即使用户正在使用 SDK 3.1 进行编译。

任何帮助表示赞赏。

问候, 约亨

I'm looking for a macro that specified the exact version of the iPhone SDK used for compilation. This is needed because when compiling with (and only with) SDK 3.0, I need to add some additional code.

__IPHONE_OS_VERSION_MIN_REQUIRED is not the right choice here, since it can be set by the user with parameter -mmacosx-version-min. For example, a user can compile with min version -mmacosx-version-min=3.0 in SDK 3.1, so a check for __IPHONE_OS_VERSION_MIN_REQUIRED == 30000 would be true, even if the user is compiling with SDK 3.1.

Any help is appreciated.

Regards,
Jochen

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

╭ゆ眷念 2024-09-02 05:23:42

您可以使用以下宏

#ifdef __IPHONE_3_0

    NSLog(@"iPhone OS Ver is 3.0");

#else

     NSLog(@"Not iPhone OS 3.0");

#endif

You can use the following macros

#ifdef __IPHONE_3_0

    NSLog(@"iPhone OS Ver is 3.0");

#else

     NSLog(@"Not iPhone OS 3.0");

#endif
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文