6

我有一个原生 iPhone 应用程序,它有一个UIWebView组件。我正在尝试查看是否可以复制Safari 的标签栏选项中存在的“添加到主屏幕”按钮。

这可能在UIWebView本机应用程序内吗?

谢谢!布雷特

4

3 回答 3

5

[我想你的问题是关于复制与添加到主屏幕相关的操作,而不是复制按钮本身的外观(这是你实际写的迂腐的)。]

正如其他人所说,这是不可能的。

您可以做的是从您的应用程序中以编程方式启动 Safari,并为其提供要加载的页面的 URL,该页面是您的页面。

当您的页面加载时,它会显示某种动画并向用户显示添加到主屏幕按钮的位置,并告诉他们在单击网页中显示的链接后按下它。当用户点击链接时,它会将他们带到您希望保存到桌面的任何页面,并且您希望他们遵循您的指示。

如果您注册您的应用程序以处理专有 url 方案,则用户可以通过单击使用您应用程序的 url 方案的链接从 Safari 中返回您的应用程序。

但是,您为 Safari 提供种子的网页必须是远程页面,您不能在您的应用程序包中为 Safari 提供一个页面,或者您的应用程序已下载,因为 Safari 无法从您的应用程序的沙箱中读取页面。

于 2012-05-31T17:52:39.993 回答
0

简短的回答是不,你不能。苹果不让你。

这是一个类似的问题,它可能会帮助您提出其他可能性: Javascript for "Add to Home Screen" on iPhone?

如果我不得不想出一个解决办法,你可以创建一个 javascript 弹出窗口来指导他们如何去做。它可以说是点击此按钮进入移动 Safari,然后点击操作 -> 添加到主屏幕。

使用 UIWebView 的方法执行 Javascript:

- (NSString *)stringByEvaluatingJavaScriptFromString:(NSString *)script

希望这可以帮助。

于 2012-05-31T16:38:44.307 回答
0

您可以将 UIActivityViewController 与您的 url 一起用作活动项

NSArray *activityItems = @[title, url];

然后您可以排除您不想要的活动。我认为这是目前唯一的方法。

于 2014-03-08T08:20:56.437 回答