Exception 如何在运行10.5的MacOSX10.6上构建PyObjC项目?

Exception 如何在运行10.5的MacOSX10.6上构建PyObjC项目?,exception,macos,osx-leopard,pyobjc,Exception,Macos,Osx Leopard,Pyobjc,我有一个PyObjC项目,我是在MacOSX10.6和XCode 3.2上构建的,但我无法在10.5上运行 我使用的只是官方的PyObjC项目模板来创建一个空项目(只需打开一个窗口)。然后我构建应用程序并将其复制到10.5。但该应用程序总是在10.5版本崩溃: Application Specific Information: *** Terminating app due to uncaught exception 'NSInternalInconsistencyException', rea

我有一个PyObjC项目,我是在MacOSX10.6和XCode 3.2上构建的,但我无法在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上运行?为什么在我的10.6机器上仍然有这个路径/Users/hupf/Development/I

您好, 霍普夫


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

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

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