在Twitter框架内部的TWRequest.h内部,它导入了这个
#import <Social/SLRequest.h>
但是TWRequest是为iOS 5构建的,那么为什么它会导入Social Framework的文件,因为它们适用于iOS 6?
我收到了这个错误..
'Social/SLRequest.h' file not found
当然没找到,因为我没有添加社交框架,因为我想使用Twitter框架。我不能简单地删除它,因为该文件是从社交框架引用的,我该如何解决这个问题?感谢
答案 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并重新启动它再次工作。它最终自我修复了。