【问题标题】:Standard (32/64-bit Universal), WebKit, Flash Plugin and Leopard标准(32/64 位通用)、WebKit、Flash 插件和 Leopard
【发布时间】:2009-10-10 19:49:59
【问题描述】:

我有一个构建 Cocoa 桌面浏览器应用程序的 Xcode 项目。

我的浏览器链接到系统上的标准 WebKit.framework(它没有嵌入自己的 WebKit.framework)。

我的 Xcode 项目的“Base SDK”设置为“Mac OS X 10.5”。

我的 Xcode 项目的“有效架构”设置为“i386 ppc ppc64 ppc7400 ppc970 x86_64”。

我的 Xcode 项目设置的“Objective-C 垃圾收集”设置为“不支持”。

我正在使用 Xcode 3.2 版在 Snow Leopard 上构建我的项目。

当我在“架构”设置为“32 位通用”的情况下构建浏览器时,浏览器在 Snow Leopard 和 Leopard 上运行良好(作为 32 位进程)并正确显示 Flash 内容。

但是,当我在“架构”设置为“标准(32/64 位通用)”的情况下构建浏览器时,Leopard 出现了严重问题。在这种情况下,浏览器在 Snow Leopard 上运行良好(作为 64 位进程)并正确显示 Flash 内容。但是,在 Leopard 上它运行良好(作为 64 位进程)除了它不会显示 Flash 内容。似乎 Flash 插件永远不会加载。

谁能给我任何关于如何将我的浏览器构建为“标准(32/64 位通用)”的建议,以便 WebKit 可以在 Mac OS X Leopard 10.5 上加载 Flash 插件?或者有什么原因导致这不起作用?

(注意:在所有情况下,我都在系统上安装了最新的 Flash 插件 - 10.0.32.18)

【问题讨论】:

    标签: objective-c cocoa macos webkit


    【解决方案1】:

    Flash 不会在 Leopard 上以 64 位加载,因为它是 32 位代码。 SnowLeopard 上的 WebKit 可以在 64 位中运行 Flash,因为它在完全独立的(32 位)进程中运行 Flash。

    【讨论】:

    • 嗯,是的,但是在我的 Leopard 系统上,Safari 以 64 位运行,同时还在单独的 32 位进程中加载​​ Flash 插件。 (至少这是我在 Activity Monitor.app 中看到的)我的浏览器也不能这样做吗?
    • 呃,你确定你在豹子上吗?
    • 卫生部。对不起,我一定让我的屏幕越过了。可以发誓 Safari 在 Leopard 上运行 64 位,但它不是。我现在看到你完全回答了我的问题。谢谢奥利。 :)
    【解决方案2】:

    可能 Flash 插件仅在 Leopard 上是 32 位的

    【讨论】:

    • 我很确定 Leopard 和 Snow Leopard 上的 Flash 插件都是 32 位的。但是 Safari 设法作为 64 位进程运行,并将 Flash 插件作为单独的 32 位进程加载到 Leopard 和 Snow Leopard 上。我的浏览器也在 Snow Leopard 上执行此操作。但不是在豹上。 :(
    • 我错了。 Safari 没有在 Leopard 上运行 64 位。见上文。
    猜你喜欢
    • 2011-10-18
    • 2011-07-11
    • 1970-01-01
    • 2012-01-07
    • 2011-08-22
    • 2011-01-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多