我正在开发支持 iOS 5 和 6 的 iPhone 应用程序。我想在 Twitter 上分享图片,我发现的方法是使用 iOS 5 中引入的 Twitter 框架。
但是 TWRequest 在 iOS 6 中已被弃用,并被社交框架中的 SLRequest 取代,这在 iOS 5 中不可用。那么我该如何解决这个问题,因为 TWRequest 在 iOS 6 中已被弃用并且 SLRequest 在 iOS 5 中不受支持。任何线索......
我正在开发支持 iOS 5 和 6 的 iPhone 应用程序。我想在 Twitter 上分享图片,我发现的方法是使用 iOS 5 中引入的 Twitter 框架。
但是 TWRequest 在 iOS 6 中已被弃用,并被社交框架中的 SLRequest 取代,这在 iOS 5 中不可用。那么我该如何解决这个问题,因为 TWRequest 在 iOS 6 中已被弃用并且 SLRequest 在 iOS 5 中不受支持。任何线索......
如果您打算使用 prebuiltSLComposeViewController
以模态方式呈现视图以在 Twitter 上共享,您可以使用类似这样的东西
//Check for Social Framework availability (iOS 6)
if(NSClassFromString(@"SLComposeViewController") != nil){
if([SLComposeViewController instanceMethodForSelector:@selector(isAvailableForServiceType)] != nil)
{
if ([SLComposeViewController isAvailableForServiceType:SLServiceTypeTwitter])
{
NSLog(@"service available");
SLComposeViewController *composeViewController = [SLComposeViewController composeViewControllerForServiceType:SLServiceTypeTwitter];
[composeViewController setInitialText:@"Testing Continues"];
[composeViewController addImage:[UIImage imageNamed:@"test.png"]];
[self presentViewController:composeViewController animated:YES completion:nil];
}
else
{
NSLog(@"service not available!");
}
}
}
else{
// For TWTweetComposeViewController (iOS 5)
if ([TWTweetComposeViewController canSendTweet]) {
TWTweetComposeViewController *tweetVC = [[TWTweetComposeViewController alloc] init];
[self presentModalViewController:tweetVC animated:YES];
[tweetVC setInitialText:@"testing app"];
}
}
否则,如果您想创建自己的请求以在 twitter 上共享,则在设备上管理用户帐户后,SLRequest
根据需要创建一个
NSDictionary *message = @{@"status": @”Test message”};
NSURL *requestURL = [NSURL URLWithString:@"http://api.twitter.com/1/statuses/update.json"];
SLRequest *postRequest = [SLRequest
requestForServiceType:SLServiceTypeTwitter
requestMethod:SLRequestMethodPOST
URL:requestURL
parameters:message];