Quadro non trovato MapKit

voti
1

Sto usando Xcode 3.2.1 nel progetto, in cui Base SDK è iPhone dispositivo 3.0 e iPhone OS Deployment target è iPhone OS 2.0 , in altre parole, un'applicazione compatibile.

Il problema è MapKit Framework . E 'aggiunto come libreria collegata debole , ma l'applicazione semplicemente non collega per Device - 2.2.1 target. Ho a corto di idee ... Che altro posso fare se non segnare la biblioteca come debole linkato? E 'abituato a lavorare in origine, ma ora non più.

Ecco parte della linea di comando, che sembra proprio bene a me:

-framework Foundation -framework UIKit -framework CoreGraphics
 -weak_framework CoreLocation -weak_framework MapKit

Nota Errore:

ld: framework not found MapKit
collect2: ld returned 1 exit status
Command /Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/g++-4.0 failed with exit code 1
È pubblicato 16/12/2009 alle 12:50
fonte dall'utente
In altre lingue...                            


3 risposte

voti
1

Giusto per chiarire il problema e la soluzione:

Problema: Volevo creare un'applicazione compatibile all'indietro , che avrebbe eseguito su entrambi i dispositivi iPhone OS 2.xe 3.x. Sarebbe all'uso di specifiche caratteristiche 3.x quando disponibile ad es MapKit.

Soluzione: impostare la "Base SDK come iPhone dispositivo da 3,0" e "iPhone OS Deployment target come iPhone OS 2.0" . Collegare il dispositivo iPhone OS 2.x (il mio era iPod Touch, in cui mi rifiuto di eseguire l'aggiornamento all'ultima versione disponibile del software iPod) e selezionare in alto a sinistra la destinazione come "Device - 3.0" - anche quando il dispositivo collegato non è compatibile con 3.0 affatto !!!

Piuttosto confusa, sembra totalmente non-logico in un primo momento, ma questo è il modo in cui funziona!

Risposto il 17/12/2009 a 08:23
fonte dall'utente

voti
1

Prova il MailComposer progetto di esempio di Apple, che fa una cosa simile con il quadro MessageUI. Quello che potrebbe essere necessario fare è impostare l'SDK Base per 2.2.1 invece di 2.0.

Risposto il 17/12/2009 a 06:20
fonte dall'utente

voti
1

Per eseguire l'applicazione su 2.2.1, non è necessario scegliere 2.2.1 in quel menu, basta lasciare il "Active SDK" impostata su 3.0 o oltre.

Risposto il 16/12/2009 a 18:47
fonte dall'utente

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more