4

XCode 3.2 を使用して Mac OS X 10.6 でビルドした PyObjC プロジェクトがあり、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 マシンにしかないのはなぜですか?

ごきげんよう

PS 10.6 マシンに MacPorts 経由で Python もインストールしましたが、これは問題になるのでしょうか?

4

1 に答える 1

0

PyObjCについては何も知りませんが、プロジェクトでXcodeを使用している場合は、プロジェクトの展開ターゲットを、アプリを実行する最も古いOSバージョンに設定する必要があります。(参考:SDKバージョンは、アプリを実行するOSの最新バージョンを定義します。)また、デプロイターゲットバージョンの後に追加されたAPIは弱くリンクされます。つまり、古いOSで実行している場合、それらのAPIは存在しない場合、それらはゼロになります。あなたがそれらを呼ぶならば、あなたは墜落するでしょう。(したがって、呼び出す前に、常に!= nilを確認する必要があります)。

繰り返しますが、これは必ずしもPyObjCの答えではありません。YMMV…</p>

于 2010-06-29T18:22:28.433 に答える