在iOS 5.1中从应用程序打开Twitter设置

3
我正在我的iPhone应用中实现Twitter功能,如果用户没有设置任何Twitter账户,我希望他能够从我的应用中打开他的Twitter设置。在iOS 5.1中有没有这样做的方法?
在iOS 5.0中我们可以按照以下方式实现,但我还没有找到在5.1中如何实现。
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"prefs:root=TWITTER"]];

我已经在另一个问题中回答了这个问题:https://dev59.com/sGXWa4cB1Zd3GeqPPrda#13293846 - Senior
2个回答

3
尝试这个...
 TWTweetComposeViewController *ctrl = [[TWTweetComposeViewController alloc] init];
        if ([ctrl respondsToSelector:@selector(alertView:clickedButtonAtIndex:)]) {
            // Manually invoke the alert view button handler
            [(id <UIAlertViewDelegate>)ctrl alertView:nil
                                 clickedButtonAtIndex:0];
        }
        [ctrl release];

现在这就是我想称之为黑客的东西。你也可以只是添加一个运行时覆盖到 [UIApplication openURL:],这可能会更容易,并且长期来看更安全。 - Richard J. Ross III
@obj_developer,哇!完全喜欢这个技巧 :) 我唯一的担心是,“从应用程序打开Twitter设置”是否还会被苹果批准?这是一个有效的担忧吗? - defactodeity
@RichardJ.RossIII [UIApplication sharedApplication]openURL: 在5.1版本中无法工作。 - objc_developer
@objc_developer 不是这样的;我的意思是你的后台可能在使用 -openURL:,所以你需要重写它并记录下你可以正常使用的 URL。 - Richard J. Ross III

1

我不知道原因,但苹果已经移除了设置应用程序的URL方案。是的,在iOS 5.0中它可以工作,但在5.1中无法工作。


那么,5.1就没有办法了吗? - Almas Adilbek
没有,我们不知道。我仍然看到苹果的一个例子,展示如何使用Twitter的框架,TweetViewController内部打开了“设置”页面。但是不知道如何去破解他们用于此的URL。 - defactodeity
@defactodeity,你总是可以使用运行时覆盖实现,但这最多只能算是一种hacky的方法。 - Richard J. Ross III
@RichardJ.RossIII,完全喜欢这个黑客! - defactodeity

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接