Cocoa - Webkit.framework的替代品?

时间:2013-11-25 17:35:21

标签: objective-c cocoa webview webkit

webkit.framework还有其他选择吗?

是否有“ChromeKit.framework”? (从我搜索的内容中看不出来)。

Apple不允许使用竞争的浏览器框架,或者没有人只是想制作一个?

我问的原因是webkit框架中令人震惊的svg / canvas性能。

修改:找到:http://en.wikipedia.org/wiki/Chromium_Embedded_Framework

但是没有.framework可用于链接xcode 5.它似乎也过时了(指令)。有人用xcode 5吗?

1 个答案:

答案 0 :(得分:7)

编辑:好吧,我今天再次下载了64位Mac CEF存档,这次它使用我之前提供的说明编译。有必要对构建设置和源代码进行一些更改(替换一些已弃用的方法)。

更新回答:


Chromium Embedded Framework 3的最新版本可以在 here 找到,最新版本来自10天前(2013/12/10)。 Mac OS X 64位版本包含一个用于OS X 10.7 Lion的示例Xcode项目,需要进行一些修改才能在10.9 Mavericks / Xcode 5上成功编译(见下文)。构建产品cefclient.app是一个简单的简单网络浏览器。

以下说明适用于在CEF版本存档中构建Chromium Embedded Framework并在64位Mac OS X 10.9 / Xcode 5上测试应用程序: cef_binary_3.1720.1548_macosx64.7z ,目前可从以下位置下载: CEF builds page在每个源代码更改后,可能需要构建以显示更多问题。

  1. 提取7z档案。
  2. 在TextEdit中打开cefclient.xcodeproj / project.pbxproj,将所有出现的“10.7”替换为“10.9”(无引号),将“10.6”替换为“10.9”(无引号)。
  3. 在Xcode 5中打开cefclient.xcodeproj并尝试构建它(cmd-B)。 在“问题”窗格中找到“cefclient项目”问题并单击 “验证项目设置/更新为推荐设置” - > 执行更改。 Xcode将更新项目文件。
  4. 在“libcef_dll_wrapper”问题下,选择涉及的问题 UINT_MAX,并在代码中将“UINT_MAX”替换为“UINT32_MAX”。
  5. 在“cefclient_helper_app”问题下,选择 “resource_util_mac.mm”子项目跳转到源代码,和 用。替换已弃用的AmIBundled()方法 以下实施:

    bool AmIBundled() { return ([NSBundle mainBundle] != nil); }

  6. 在“cefsimple”问题下,选择“cefsimple_mac.mm”子项 跳转到源代码,并替换已弃用的 ...loadNibNamed...行:

    [[NSBundle mainBundle] loadNibNamed:@"MainMenu" owner:NSApp topLevelObjects:nil];

  7. 对“cefclient issues”重复步骤6 - > “cefclient_mac.mm” 子项。

  8. 此时应该成功构建。忽略链接器警告;我似乎无法修复它们,无论如何,一切似乎都能正常工作。

    构建cefclient的较小(~80MB)发布版本:

    1. 点击项目窗口左上角的“全部”目标 - > 选择“编辑方案......”
    2. 在左侧视图中选择“运行”项,然后选择“构建配置” - >释放。
    3. cefclient和cefsimple构建产品将位于@{PROJECT_DIR}/xcodebuild/Release文件夹中,而CEF框架将位于@{PROJECT_DIR}/Release文件夹中。

      不完全即插即用,是吗?如果这对您有用,请告诉我。