使用UIWebView或自定义视图控制器的IPad应用程序

时间:2013-04-07 17:50:21

标签: ios xcode ipad uiwebview tableview

这不是帮助纠正代码的呐喊。我有一个简单的应用程序,它解析rss提要并在UITableview中显示数据(图像,标题,发布者等)。用户点击tableview中的任何条目并将其转移到UIWebView。

对于iPhone,UIWebView显示移动网站,我已经对移动网站进行了一些小的自定义,因此它在我的应用程序内的UIWebView中看起来更好。

但是对于iPad来说,它并没有显示移动网站,而是显示了一个正常的网站,它使用自己的控件(如导航等)看起来很糟糕,允许用户浏览网站功能,而不是我提供的应用程序。

我的问题是我可以将此应用程序提交到App Store吗?我的应用程序是否有可能因此行为而被拒绝?

请提示是否有任何替代解决方案使用UIWebView而不为此目的制作自定义视图控制器。

提前致谢。

更新:

强制移动网站为iPad用户显示不是正确的做法。只需阅读Apple提供的文档“”如果您的网站版本针对小屏幕的移动设备进行了优化,请不要向iPad用户提供此移动版本。“http://developer.apple.com/library/ios/#technotes/tn2010/tn2262/

3 个答案:

答案 0 :(得分:1)

Apple可以很好地拒绝一款看起来不太好的应用,这真的是他们的选择,这取决于谁对该应用进行了评论。

我可能会尝试在iOS之外找到解决方案,您可以随时强制网站加载iPad的移动版本(不是有些人喜欢这样)。

如果您使用Apache,则始终可以在.htaccess中使用类似于以下内容的内容:

RewriteEngine On

#if request_uri is _not_ followed by mobile
RewriteCond %{REQUEST_URI} !^/mobile/.*$

#if the user agent is ipad
RewriteCond %{HTTP_USER_AGENT} ^.*iPad.*$

#Redirect to /mobile/index.php
RewriteRule ^(.*)$ /mobile/ [L,R=301]

答案 1 :(得分:0)

如果您的移动版本不适合iPad,只需制作新版本或修复原始网站中的问题,将网站发送到嵌入在网页浏览器中的App Store只会让您在需要真实工作时更加努力快速更新。

答案 2 :(得分:0)

您可以尝试使用UIWebViewDelegate–webView:shouldStartLoadWithRequest:navigationType:方法,并修改用户代理(和/或任何其他标头)以启动移动网站,而不是桌面版。