Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/100.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c 请求http://mobile.twitter.com 关于UIWebView_Objective C_Ios_Xcode_Ipad_Safari - Fatal编程技术网

Objective c 请求http://mobile.twitter.com 关于UIWebView

Objective c 请求http://mobile.twitter.com 关于UIWebView,objective-c,ios,xcode,ipad,safari,Objective C,Ios,Xcode,Ipad,Safari,我一直在尝试在我的iPad应用程序中插入一个小网络视图(320x480),以模拟一个显示移动twitter的小“iPhone屏幕”。但是,每当uiwebview收到一个NSURL加载请求时,我的应用程序就会自动从屏幕上删除,iOS就会为iPad打开Twitter 有没有办法改变这种行为 以下是我正在做的: UIWebView *viewDoTwitter = [[UIWebView alloc] initWithFrame:CGRectMake(0, 0, 320, self.view.boun

我一直在尝试在我的iPad应用程序中插入一个小网络视图(320x480),以模拟一个显示移动twitter的小“iPhone屏幕”。但是,每当uiwebview收到一个NSURL加载请求时,我的应用程序就会自动从屏幕上删除,iOS就会为iPad打开Twitter

有没有办法改变这种行为

以下是我正在做的:

UIWebView *viewDoTwitter = [[UIWebView alloc] initWithFrame:CGRectMake(0, 0, 320, self.view.bounds.size.height)];
viewDoTwitter.autoresizingMask = UIViewAutoresizingFlexibleHeight;
viewDoTwitter.scalesPageToFit = YES;

 [rootView insertSubview:viewDoTwitter atIndex:0];
 [viewDoTwitter loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"http://mobile.twitter.com"]]];
编辑:

好的,我在这里找到了解决方案:


但是,现在面临一个新问题:mobile.twitter.com坚持要适应iPad屏幕的大小,而不是我指定的320像素宽度。

如果你这样做,你不应该被重定向

- (void)viewDidLoad {
  [super viewDidLoad];
  NSURL *url = [NSURL URLWithString:@"http://mobile.twitter.com"];
  NSURLRequest *request = [NSURLRequest requestWithURL:url];
  [webView loadRequest:request];
}
您描述的行为可以通过以下代码行实现(重定向):


我还注意到UIWebView在许多应用程序中出现了这种新行为。这是从今天开始的,因为昨天所有这些应用都运行良好

如果您尝试连接到UIWebView中的(注意url为“https”),您将进入Twitter登录屏幕,但在输入凭据后,站点会尝试将您的应用重定向到twitter://timeline 登录后。如果设备上未安装官方Twitter原生移动应用程序,则无法在UIWebView中浏览Twitter移动站点。如果您安装了Twitter本机应用程序,您将被重定向到该应用程序,而不是在UIWebView中浏览移动站点

奇怪的是,如果你在MobileSafari中尝试同样的方法,你就不会在本机Twitter移动应用程序中获得这种重定向行为

这是Twitter方面的某种新限制,因为这将打破许多在UIWebView中访问移动Twitter站点的应用程序

我不确定其他用户是否也经历过同样的新行为


PS:刚刚查看了Twitter开发者的支持讨论板,其他人也遇到了同样的问题???

你能发布你的UIWebView代码吗?你想只在这个视图中显示Twitter网页,或者让它对用户或其他东西可用吗?是的,它需要对用户可用。我正在这样做:[viewDoTwitter loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@];我发现它与webview的用户代理有关,这就是UIWebView和MobileSafari之间行为不同的原因。请看顶部我的问题中的“已编辑”部分。
- (void)viewDidLoad {
  [super viewDidLoad];
  NSURL *url = [NSURL URLWithString:@"http://mobile.twitter.com"];
  NSURLRequest *request = [NSURLRequest requestWithURL:url];
  [webView loadRequest:request];
}
[[UIApplication sharedApplication] openURL:url];