Objective-c – Standard (32/64-bit Universal), WebKit, Flash Plugin and Leopard

cocoamacosobjective cwebkit

I have an Xcode project which builds a Cocoa desktop Browser application.

My Browser links to the standard WebKit.framework on the system (it does not embed its own WebKit.framework).

The "Base SDK" for my Xcode project is set to "Mac OS X 10.5".

The "Valid Architectures" for my Xcode project is set to "i386 ppc ppc64 ppc7400 ppc970 x86_64".

The "Objective-C Garbage Collection" for my Xcode project setting is set to "Unsupported".

I am building my project on Snow Leopard with Xcode version 3.2.

When I build the Browser with "Architectures" set to "32-bit Universal", the Browser runs fine on Snow Leopard and Leopard (as a 32-bit process) and displays Flash content correctly.

However, when i build the Browser with "Architectures" set to "Standard (32/64-bit Universal)", I have a serious problem on Leopard. In this case, the Browser runs fine (as a 64-bit process) on Snow Leopard and displays Flash content correctly. However, on Leopard it runs fine (as a 64-bit process) except that it will not display Flash content. It seems the Flash plugin never loads.

Can anyone give me any advice on how to build my Browser as a "Standard (32/64-bit Universal)" so that WebKit will load the Flash Plugin on Mac OS X Leopard 10.5? Or is there some reason why this cannot work?

(NOTE: in all cases I have the latest Flash PlugIn installed on the system – 10.0.32.18)

Best Answer

Flash will not load in 64bit on Leopard as it is 32bit code. WebKit on SnowLeopard can run Flash in 64bit because it runs Flash in a completely separate (32-bit) process.

Related Topic