Rammeverk ikke funnet MapKit

stemmer
1

Jeg bruker Xcode 3.2.1 i prosjektet, hvor Base SDK er iPhone Device 3.0 og iPhone OS Deployment Target er iPhone OS 2.0 , med andre ord en baklengs kompatibelt program.

Problemet er MapKit Work . Det er lagt til som Svak knyttet bibliotek , men app bare ikke koble til Device - 2.2.1 target. Jeg har kjørt ut av ideer ... Hva annet kan jeg gjøre, men markere biblioteket som svak koblet? Det pleide å jobbe opprinnelig, men ikke noe mer.

Her er en del av kommandolinjen, som ser helt fint til meg:

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

Feilmelding:

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
Publisert på 16/12/2009 klokken 11:50
kilden bruker
På andre språk...                            


3 svar

stemmer
1

Bare for å avklare problemet og løsningen:

Problem: Jeg ønsket å lage en bakoverkompatibel program , som ville kjøre på både iPhone OS 2.x og 3.x enheter. Det ville bruke 3.x spesifikke funksjoner når det er tilgjengelig f.eks MapKit.

Løsning: sette din "Base SDK som iPhone Device 3,0" og "iPhone OS Deployment mål som iPhone OS 2.0" . Koble iPhone OS 2.x enhet (min var iPod Touch, hvor jeg nekter å oppgradere til nyeste tilgjengelige iPod programvareversjon) og velg øverst i venstre hjørne på mål som "Device - 3,0" - selv når den tilkoblede enheten er IKKE 3.0 kompatibel i det hele tatt !!!

Ganske forvirrende, ser helt ikke-logisk i starten, men det er slik det fungerer!

Svarte 17/12/2009 kl. 07:23
kilden bruker

stemmer
1

Prøv MailComposer prøve prosjekt fra Apple, som gjør en lignende ting med MessageUI rammeverket. Hva du trenger å gjøre er å sette base SDK til 2.2.1 i stedet for 2,0.

Svarte 17/12/2009 kl. 05:20
kilden bruker

stemmer
1

For å kjøre programmet på 2.2.1, trenger du ikke å velge 2.2.1 i denne menyen, bare la "Active SDK" satt til 3,0 eller utover.

Svarte 16/12/2009 kl. 17:47
kilden bruker

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