MapKit cadru nu a fost găsit

voturi
1

Sunt folosind Xcode 3.2.1 în proiect, în cazul în care Baza este SDK pentru iPhone dispozitiv 3.0 și iPhone OS țintă este de implementare iPhone OS 2.0 , cu alte cuvinte , o aplicație compatibilă înapoi.

Problema este MapKit cadru . Se adaugă ca biblioteca slabă legat , dar aplicația pur și simplu nu se leagă de „Dispozitiv - 2.2.1“ țintă. Am alerga afară de idei ... Ce altceva pot face , dar marca biblioteca ca fiind „slab“ legat? Este folosit pentru a lucra inițial, dar nu mai.

Iată o parte din linia de comandă, care arată foarte bine pentru mine:

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

Notă Eroare:

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
Întrebat 16/12/2009 la 12:50
sursa de către utilizator
În alte limbi...                            


3 răspunsuri

voturi
1

Doar pentru a clarifica problema și soluția:

Problemă: Am vrut să creeze o aplicație compatibilă înapoi , ceea ce ar rula pe ambele 2.x și 3.x. dispozitive iPhone OS. Aceasta ar folosi caracteristici specifice 3.x atunci când sunt disponibile de exemplu MapKit.

Soluție: setați "Base SDK ca iPhone dispozitiv 3.0" și "iPhone OS țintă de implementare ca iPhone OS 2.0" . Conectați dispozitivul 2.x iPhone OS ( a mea a fost iPod Touch, în cazul în care refuz să faceți upgrade la cea mai recentă versiune disponibilă software - ului iPod) și selectați în colțul din stânga sus destinație ca „Dispozitiv - 3.0“ - chiar și atunci când dispozitivul conectat nu este compatibil 3.0 deloc !!!

Destul de confuz, pare total non-logică la început, dar asta e modul în care funcționează!

Publicat 17/12/2009 la 08:23
sursa de către utilizator

voturi
1

Încercați MailComposer proiect de probă de la Apple, care face un lucru similar cu cadrul MessageUI. Ceea ce ar putea fi necesar să faceți este să setați SDK - ul de bază la 2.2.1 în loc de 2,0.

Publicat 17/12/2009 la 06:20
sursa de către utilizator

voturi
1

Pentru a rula aplicația pe 2.2.1, nu trebuie să alegeți 2.2.1 din acest meniu, lăsați „Active SDK-ul“ setat la 3.0 sau dincolo.

Publicat 16/12/2009 la 18:47
sursa de către utilizator

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