适用于iOS的Twitter框架 - 为什么TWrequest.h导入<social slrequest.h =“”>?</social>

时间:2012-12-03 23:40:59

标签: ios5 twitter social social-framework

在Twitter框架内部的TWRequest.h内部,它导入了这个

#import <Social/SLRequest.h>

但是TWRequest是为iOS 5构建的,那么为什么它会导入Social Framework的文件,因为它们适用于iOS 6?

我收到了这个错误..

'Social/SLRequest.h' file not found

当然没找到,因为我没有添加社交框架,因为我想使用Twitter框架。我不能简单地删除它,因为该文件是从社交框架引用的,我该如何解决这个问题?感谢

2 个答案:

答案 0 :(得分:1)

在iOS 6中,不推荐使用Twitter框架方法。相反,你应该使用Social.framework。其中包括分享Twitter和Facebook。

示例代码检查OS版本的运行情况以及可用的框架类,无论是iOS 5 - Twitter.framework还是6 - Social.framework

#import <Twitter/Twitter.h>
#import <Social/Social.h>


- (void) postTweet {
NSString *someTweet = @"someTweet";

// running on iOS5
if (NSClassFromString(@"TWTweetComposeViewController") && [TWTweetComposeViewController canSendTweet]) {

    TWTweetComposeViewController *tweetSheet = [[TWTweetComposeViewController alloc] init];

    [tweetSheet setInitialText:someTweet];
    [self presentModalViewController:tweetSheet animated:YES];

    // running on iOS6
} else if ( NSClassFromString(@"SLComposeViewController") && [SLComposeViewController isAvailableForServiceType:SLServiceTypeTwitter] ) {

    SLComposeViewController *tweetSheet = [SLComposeViewController composeViewControllerForServiceType:SLServiceTypeTwitter];

    [tweetSheet setInitialText:someTweet];
    [self presentViewController:tweetSheet animated:YES completion:NULL];
}
}

答案 1 :(得分:0)

这似乎更像是一个xcode问题。有时它有效,有时它会抛出错误。我不得不退出xcode并重新启动它再次工作。它最终自我修复了。