如何在Mac OS X 10.6上构建一个运行10.5的PyObjC项目?

时间:2010-01-24 16:18:48

标签: exception macos osx-leopard pyobjc

我有一个PyObjC项目,我使用XCode 3.2在Mac OS X 10.6上构建,但我无法在10.5上运行。

我正在使用的是官方的PyObjC项目模板来创建一个空项目(只是打开一个窗口)。然后我构建应用程序并将其复制到10.5。但该应用程序总是崩溃10.5:

Application Specific Information:
*** Terminating app due to uncaught exception 'NSInternalInconsistencyException',
reason: '/Users/hupf/Development/PyHelloWorld/main.m:44 main() PyRun_SimpleFile failed
with file '/Users/hupf/Desktop/PyHelloWorld.app/Contents/Resources/main.py'.  See
console for errors.'

我可以做些什么来让它在10.5上运行?为什么还有这条路径 / Users / hupf / Development / 我只在我的10.6机器上?

问候, hupf

P.S。我还在我的10.6机器上通过MacPorts安装了Python ......这可能是个问题吗?

1 个答案:

答案 0 :(得分:0)

我对PyObjC一无所知,但您的项目正在使用Xcode,那么您只需将项目的部署目标设置为您希望应用程序运行的最旧操作系统版本。 (仅供参考:SDK版本定义了应用程序将运行的操作系统的最新版本。)另请注意,在部署目标版本之后添加的任何API都将是弱链接的,这意味着如果您在较旧的操作系统上运行,那么这些API是不存在他们将是零;如果你给他们打电话,你会崩溃。 (所以你应该在调用它们之前检查它们!= nil。)

同样,这不一定是PyObjC的答案; YMMV ...