0

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

#import <Social/SLRequest.h>

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

我收到这个错误..

'Social/SLRequest.h' file not found

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

4

2 回答 2

1

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

示例代码检查正在运行的操作系统版本以及可用的框架类是 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];
}
}
于 2012-12-22T16:14:05.223 回答
0

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

于 2013-01-23T21:14:35.663 回答