2010-07-19 10 views
6

Sto provando a distribuire su 10.5 un'applicazione PyObjC (o Cocoa-Python) sviluppata su Xcode 3.2.X (Snow Leopard) che funziona perfettamente bene su 10.6 sistemi.Compilare un'applicazione PyObjC per 10.5 (Leopard) in xcode 10.6 (Snow Leopard)

L'applicazione non lanciare sul 10,5; si blocca al momento del lancio dare questo messaggio di errore (trovato su Crash Report):

Dyld Error Message: Library not loaded: /System/Library/Frameworks/Python.framework/Versions/2.6/Python Referenced from: /Users/myuser/Documents/myApp.app/Contents/MacOS/myApp Reason: image not found

Sembra che da qualche parte Xcode hardcodes le versioni/2.6 pitone percorso quadro (al posto di impostandolo come Versioni/Corrente, ad esempio).

Tuttavia, non ero in grado di trovare dove questo percorso di collegamento potrebbe essere modificato per essere impostato su Current (o 2.5, forse condizionalmente) ...

risposta

1

Il percorso che stai vedendo potrebbe benissimo essere un percorso legittimo alla versione del framework Python a cui ti sei collegato. Questo è il percorso corretto per la versione più recente di SnowLeopard (10.6.5), almeno. Si può benissimo aver impostato correttamente il percorso del framework nel progetto Xcode.

Se dovessi indovinare, direi che quando si verifica questo arresto si esegue su una versione diversa di Mac OS X, in cui la versione 2.6 del framework Python non esiste. Per esplorare il problema, provare a navigare nel framework Python ed elencando le versioni disponibili nel sistema in cui si verifica questo errore:

cd /System/Library/Frameworks/Python.framework/Versions 
ls -al 

Cosa uscita vuol dare? Suppongo che non mostri una directory versione 2.6. Quale versione di Mac OS X stai eseguendo? Potrebbe essere necessario compilare e collegare la tua applicazione a una versione precedente del sistema per farla girare su qualsiasi sistema su cui vedi questo errore.

0

XCode ha i cosiddetti SDK che possono essere utilizzati per individuare versioni precedenti di Max OS X da una versione recente.

Gli SDK attualmente installati sono disponibili in/Developer/SDK. SDK aggiuntivi possono essere installati da un DVD XCode.

In un progetto creato con XCode, l'SDK può essere selezionato nel seguente modo. Apri Ottieni informazioni su un target, trova l'impostazione SDK di base nella sezione Architetture. Seleziona l'SDK che ti serve e ricostruisci.

Ad esempio, Mac OS X 10.5 SDK contiene versioni di Python 2.5 e 2.3 e la versione corrente punta a 2.5.