【问题标题】:porting a UIWebView-heavy iPhone app to Mac将 UIWebView 重的 iPhone 应用程序移植到 Mac
【发布时间】:2010-11-01 22:04:58
【问题描述】:

客户端有一个 iOS 应用程序,该应用程序大量使用 UiWebViews(其中运行 javascript)。大约 50% 的逻辑和 UI 是用 WebViews 完成的,其余的是 Objective-c。他现在也有兴趣将该应用程序移植为 Mac 应用程序(因为他认为在应用程序商店中作为一个 2 美元的应用程序会很好,当商店在几个月内支持 Mac 应用程序时)。

是否可以在 iPhone 应用程序中执行您可以在 Mac 中执行的操作 - 例如嵌入 WebView、发送 javascript 字符串 (stringByEvaluatingJavaScriptFromString)、从 javascript (shouldStartLoadWithRequest) 回调到 Objective-c 代码应用程序?

我什至可以指望每台 Mac 上都有 webkit 吗?

当然,目标是在 Mac 版本和 iPhone/iPad 版本之间保持尽可能多的代码相同。我不在乎我是否必须使用不同的 API……我只是想确保基本功能在那里,这样我们就不必从头开始。

【问题讨论】:

    标签: iphone cocoa ios uiwebview webkit


    【解决方案1】:

    是否可以在 iPhone 应用程序中执行您可以在 Mac 中执行的操作 - 例如嵌入 WebView、发送 javascript 字符串 (stringByEvaluatingJavaScriptFromString)、从 javascript (shouldStartLoadWithRequest) 回调到 Objective-c 代码应用?

    还有更多。 WebKit 框架的类(它在 Mac 上是一个完全独立的公共框架)向您展示了比 UIWebView 更多的内容。您甚至可以获得 DOM API 的 Objective-C 版本。

    我什至可以指望每台 Mac 上都有 webkit 吗?

    没有。 WebKit 是在 Mac OS X 10.2.7 中引入的。任何运行早于 Jaguar 的 Mac OS X 版本、未单独安装 Safari 的早于 10.2.7 的 Jaguar 版本的 Mac,或者经典的 Mac OS 都没有。

    【讨论】:

    • 至于第二个问题,你的回答是完全合乎逻辑的,但是实际上现在市场上的每台 Mac 上都有 WebKit。
    • 主要区别在于,对于很多内容,您向-mainFrame 发送消息,而不是直接发送网络视图。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-03
    • 2014-05-04
    • 2012-05-01
    • 2011-06-03
    • 1970-01-01
    相关资源
    最近更新 更多