iPhone Twitter SDK 与 iOS 5 设备的集成问题

标签 iphone objective-c twitter

我已成功将 Twitter Sharekit 与我的 iPad 应用程序源集成。当我在装有 iOS 4.X 的模拟器和 iPad 1 上测试该应用程序时,它运行完美,推文已成功发布。但是,如果我在装有 iOS 5 的 iPad 2 上安装相同的软件包,则无法发布推文,它只会连续显示授权应用程序消息。我找不到任何其他问题。

最佳答案

使用 iOS 5 提供的原生 Twitter 来集成 Twitter。一方面,UI 很棒,另一方面,使用 SharKit 不会有任何问题。虽然我必须告诉你 ShareKit 是 iOS 5 以下版本的最佳选择。

要使用原生 Twitter 集成,请执行以下操作。 在包含必要的框架之后将这些语句添加到您的类中

#if defined(__IPHONE_5_0) && __IPHONE_OS_VERSION_MAX_ALLOWED >= __IPHONE_5_0
#import <Twitter/Twitter.h>
#import <Accounts/Accounts.h>
#endif

请注意,在添加 Twitter 和帐户框架时,请确保将它们设置为可选。

然后在你的共享方法中使用这些行

- (void)shareOnTwitter {
Class TWTweetComposeViewControllerClass = NSClassFromString(@"TWTweetComposeViewController");

    if (TWTweetComposeViewControllerClass != nil) {
        if([TWTweetComposeViewControllerClass respondsToSelector:@selector(canSendTweet)]) {
            UIViewController *twitterViewController = [[TWTweetComposeViewControllerClass alloc] init];

            [twitterViewController performSelector:@selector(setInitialText:) 
                                        withObject:twitterText];
            [twitterViewController performSelector:@selector(addURL:) 
                                        withObject:[NSURL URLWithString:url]];

            [twitterViewController performSelector:@selector(addImage:) 
                                        withObject:urImage];
            [self presentModalViewController:twitterViewController animated:YES];
            [twitterViewController release];
        }
else {
// Use ShareKit for previous versions of iOS
} 
}

希望这对您有所帮助。

关于iPhone Twitter SDK 与 iOS 5 设备的集成问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9124521/

相关文章:

ios - 如何处理 iOS 11 Navigation BarButtonItems 错误?

ruby - 使用 tweetstream 守护进程写入数据库

javascript - Twitter 分享按钮动态 URL 分享

iPhone UIImageView 数组

iphone - 回声效果 : Write audio buffers with offset?

iphone - NSDictionary 带有 key => String 和 Value => c-Style array

ios - 如何为不同的屏幕尺寸设置按钮框架

iPhone 和加密库

ios - 在动画期间防止 UITableViewCell 布局

android - Twitter.getApiClient(session) 未找到 android