首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何导入仅适用于iOS 6的社交框架?

如何导入仅适用于iOS 6的社交框架?
EN

Stack Overflow用户
提问于 2012-12-22 19:07:34
回答 2查看 3.7K关注 0票数 1

如何导入仅适用于iOS 6的社交框架?我想禁用其他iOS版本的社交框架。目前我正在尝试这样做,我也尝试将FrameWork更改为optional,但不是在iOS 5.1模拟器上运行。

代码语言:javascript
复制
if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 6.0)
        {
          #import <Social/Social.h>   
        }

请告诉我如何检查和运行iOS 5和iOS 6。谢谢。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-12-22 19:14:13

首先:不要为了猜测支持什么而查询操作系统版本,检查某个特定功能是否确实可用,而不是基于假设使用它。

也就是说,最新版本的iOS和工具链支持弱链接。只需检查您打算使用的类是否不是Nil (方法#1)。您也可以为此使用Objective-C运行时(方法#2):

代码语言:javascript
复制
// method #1 - weak linking
if ([SLRequest class] != Nil) {
    // Social.framework is available
}

// method #2 - querying the runtime
if (NSClassFromString(@"SLRequest") != Nil) {
    // Social.framework is available
}

要使弱链接生效,需要将您打算使用的框架添加为“可选”而不是“必需”。如果不使用Xcode或IDE,而只使用命令行工具链,则可以通过传递

代码语言:javascript
复制
-flat_namespace -undefined dynamic_lookup

到链接器。

票数 18
EN

Stack Overflow用户

发布于 2012-12-22 19:25:41

代码语言:javascript
复制
#import <Avaibility.h>

#if defined(__IPHONE_6_0) && __IPHONE_OS_VERSION_MAX_ALLOWED >= __IPHONE_6_0
#import <Social/Social.h>
#import <Accounts/Accounts.h>
#elif defined(__IPHONE_5.0) && __IPHONE_OS_VERSION_MAX_ALLOWED >= __IPHONE_5_0
#import <Twitter/Twitter.h>
#import <Accounts/Accounts.h>
#else
#error Your SDK is too old ! Need at least 5.0.
#endif
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14002304

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档